home *** CD-ROM | disk | FTP | other *** search
/ HyperPC 2 / HyperPC 2 - Disc 1.iso / 18_厳選!オンラインソフト130 / サウンド / muse310.lzh / README.TXT < prev    next >
Text File  |  2000-01-15  |  168KB  |  3,623 lines

  1. ;┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  2. ;┃  ミューズ(Muse)  ┃                              kato@psdl.tmg.nec.co.jp ┃
  3. ;┃    取扱説明書    ┃                                             加藤一郎 ┃
  4. ;┣━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  5. ;┃   ♪♪♪  このファイル自体がMuseデータのサンプルとなっています  ♪♪♪   ┃
  6. ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  7. ;                 (注) Sample*.mus および Readme.txtの例示曲は
  8. ;                   著作権に抵触しない事を確認しております。
  9. ;
  10. ;    【第1章】アプリケーション概説
  11. ;
  12. ;       [1]Museとは何か
  13. ;       [2]インストールとアンインストール
  14. ;       [3]機能概要
  15. ;           ( 1) Museファイルのロード
  16. ;           ( 2) 演奏の仕方
  17. ;           ( 3) シークバーの扱い方
  18. ;           ( 4) メンバ色の確認
  19. ;           ( 5) MIDI音源の選択
  20. ;           ( 6) 楽器やドラムの試聴
  21. ;           ( 7) データ編集とマニュアル表示
  22. ;           ( 8) フィンガー拍数の確認
  23. ;           ( 9) MIDIファイルのセーブ
  24. ;           (10) キー操作による演奏制御
  25. ;           (11) コマンドラインによる起動
  26. ;
  27. ;    【第2章】Museコーディングの手引き
  28. ;
  29. ;       [1]ピアノ独奏
  30. ;           (1- 1) まずはドレミを鳴らしてみよう
  31. ;           (1- 2) オクターブの指定はどうやるのかな
  32. ;           (1- 3) 半音の指定はどうやるのかな
  33. ;           (1- 4) 調性の指定方法
  34. ;           (1- 5) 音の長さを指定しよう
  35. ;           (1- 6) 付点の表現
  36. ;           (1- 7) タイの表現
  37. ;           (1- 8) コメントを使って可読性を高める
  38. ;           (1- 9) スタッカートの指定方法
  39. ;           (1-10) 省略音長について
  40. ;           (1-11) 連符の表現
  41. ;           (1-12) テンポを変えてみる
  42. ;           (1-13) 装飾音の付け方
  43. ;           (1-14) 音の強さを指定しよう
  44. ;           (1-15) 音部記号について
  45. ;           (1-16) 和音とタイミングコントロール
  46. ;           (1-17) コードによる伴奏
  47. ;           (1-18) 音符の連結
  48. ;           (1-19) 再現表記の活用
  49. ;           (1-20) アルペジオの記述方法
  50. ;           (1-21) エコーをかける
  51. ;
  52. ;       [2]アンサンブル演奏
  53. ;           (2- 1) メンバーとフィンガーの概念
  54. ;           (2- 2) パーカッションの演奏方法
  55. ;           (2- 3) フィンガー単位に指定する値
  56. ;           (2- 4) メンバー単位に指定する値
  57. ;           (2- 5) 音色の指定
  58. ;           (2- 6) クレッシェンドとデクレッシェンド
  59. ;           (2- 7) ステレオ効果の利用
  60. ;           (2- 8) 移調の仕方
  61. ;           (2- 9) 楽器の音色をアレンジする
  62. ;           (2-10) なめらかなグリッサンド
  63. ;           (2-11) ダンパーペダルの操作
  64. ;           (2-12) 全体に影響を及す値
  65. ;           (2-13) リタルダンドとアッチェレランド
  66. ;
  67. ;       [3]より高度な記述
  68. ;           (3-1) コマンドによる制御
  69. ;           (3-2) カラオケとして利用する
  70. ;           (3-3) 途中で強制的に停止させる
  71. ;           (3-4) Waveファイルを再生させる
  72. ;           (3-5) ドラムメンバーを増やす
  73. ;           (3-6) フィンガー属性を一気に指定する
  74. ;           (3-7) 領域を指定し繰返し演奏させる
  75. ;           (3-8) 無名マクロによる繰返し記述
  76. ;
  77. ;       [4]補足
  78. ;           (4-1) メンバーのタイミングを強制的に合わせる
  79. ;           (4-2) コマンドの実行タイミングについて
  80. ;           (4-3) 連符・和音・コードの入れ子関係
  81. ;           (4-4) 最小分解能と微分音長指定
  82. ;           (4-5) メンバ色の表示優先度について
  83. ;
  84. ;    【第3章】Muse文法リファレンス
  85. ;
  86. ;     ≫≫≫ 著作権などについて ≪≪≪
  87. ;
  88. ;     《 開発後記 》
  89. ;
  90. ;
  91. ;
  92. ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  93. ;┃【第1章】                     アプリケーション概説 ┃
  94. ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  95. ;
  96. ;[1]Museとは何か
  97. ;
  98. ;  Muse(ミューズ)はテキストファイルで譜面を記述し、そのファイルを読込ませて
  99. ;  音楽を演奏させるソフトウェアです。楽器の音色は128種類、ドラムの音色は
  100. ;  63種(11セット)の中から選択でき、残響や揺らぎ等の指定も可能です。演奏中
  101. ;  はリアルタイムかつカラフルに行われるピアノ自動演奏を楽しめます。曲の途中
  102. ;  でWAVEファイルを再生し、効果音を添えることもできます。また、指定したタイ
  103. ;  ミングで文字列を表示するエリアもあり、歌詞を入力しておけばカラオケソフト
  104. ;  としても活用できます。更に、作成したデータは、この業界のデファクトである
  105. ;  MIDIファイルにエクスポート可能です。Windows95/98/NTに対応しています。
  106. ;
  107. ;
  108. ;[2]インストールとアンインストール
  109. ;
  110. ;  ・必要なファイルは、Muse.exe と Readme.txt(本ファイル)の2つだけです。
  111. ;   適当なフォルダにコピーすればインストールは完了です。
  112. ;   「マニュアル表示」のために上記2ファイルは同一フォルダに置いて下さい。
  113. ;
  114. ;  ・添付ファイルの“拍手.wav”は必須ではありませんが、本ファイルの曲例で
  115. ;   使用しているため、やはり同一フォルダに配置することを推奨します。
  116. ;   Sample*.mus のファイル群は、文字通りサンプルです。
  117. ;   どんなフォルダに置いても構いません。削除して頂いても結構です。
  118. ;
  119. ;   (注)すべてのSample曲および本Readme.txtに収録している楽曲は、日本音楽
  120. ;     著作権協会の作品検索で著作権が消滅していることを確認しております。
  121. ;     詳細は ≫≫≫ 著作権などについて ≪≪≪ をご覧下さい。
  122. ;
  123. ;  ・アンインストールは、インストールしたファイル群と Muse.exe のフォルダに
  124. ;   Museが自動生成する muse.ini を削除するだけで完璧です。
  125. ;   レジストリは一切いじっていません。
  126. ;
  127. ;  ・Museは、MIDI音源で駆動します。もし、あなたのパソコンにMIDI音源が搭載
  128. ;   されていない場合、残念ながらMuseは起動しません。起動したにもかかわらず
  129. ;   うまく音が出ない場合は、メニューの「情報(I)」→「音源の選択(V)」で、
  130. ;   使用するデバイスを切替えてみて下さい。
  131. ;           →“[3]機能概要 (5)MIDI音源の選択 ”を参照のこと。
  132. ;
  133. ;
  134. ;[3]機能概要
  135. ;
  136. ; ---------------------------------- ♪
  137. ;  (1)Museファイルのロード
  138. ; ----------------------------------
  139. ;  ■「ファイル(F)」→「開く(O)」の選択で、Museファイルを指定し読込みます。
  140. ;   Museファイルは、譜面を文字で表現するテキストファイルです。
  141. ;   そのファイルはメモ帳などのエディタで、あらかじめ作成しておく必要があり
  142. ;   ます。また、その書式は次章で規定された文法に従っていなければなりません。
  143. ;   尚、一般のテキストファイルと区別するためにファイルの拡張子を.musにする
  144. ;   ことを推奨します。
  145. ;
  146. ;  ■ロード時に文法のチェックが行われ、エラーがあるとダイアログでその内容と
  147. ;   Museファイル上の行番号を知らせます。うまくロードできると、ウィンドウの
  148. ;   タイトル部に“→ 00:00”の形式で演奏総時間が表示されます。
  149. ;   エラーがあると“→ ×”の表示となり、演奏に移れません。
  150. ;
  151. ;  ■データを作成している過程でロードとエディットを頻繁に繰返す事を想定し、
  152. ;   「ファイル(F)」→「リロード(L)」の機能を設けました。このメニューは選ん
  153. ;   だだけで現在ロードされているファイルを再び読込むので、カット&トライが
  154. ;   より簡便に行えます。また「開く(O)」と異なり、シークバーを巻戻さない
  155. ;   ので、曲のある部分をデバッグする時も位置決めが容易です。
  156. ;
  157. ;  ■Museのショートカットを作成することで、ロード用ダイアログの初期表示
  158. ;   フォルダを制御できます。ショートカットのプロパティで「作業フォルダ」
  159. ;   の欄に、表示させたいフォルダを指定して下さい。
  160. ;
  161. ; ---------------------------------- ♪
  162. ;  (2)演奏の仕方
  163. ; ----------------------------------
  164. ;  ■データをロードした後、鍵盤部分をマウスクリックする事で演奏を制御します。
  165. ;    演奏中は、メニュー右端の“Presented by ...”がグレーアウトします。
  166. ;                     └→(注)WindowsNTの場合は、右端に寄りません。
  167. ;    《左ボタン》
  168. ;      演奏を開始します。
  169. ;      演奏中ならば一時停止と再開を繰返します。
  170. ;
  171. ;    《右ボタン》
  172. ;      曲頭へ巻戻します。
  173. ;      演奏中ならば演奏を停止し曲頭へ巻戻します。
  174. ;
  175. ;  ■エクスプローラからMuseファイルをドラッグ&ドロップすると、直ぐに演奏を
  176. ;   開始します。既に何かの曲が演奏されている状態で新たにドロップした場合は、
  177. ;   今の曲を停止し新たにドロップされた曲の演奏を開始します。
  178. ;
  179. ;  ■データ内に“STOP”コマンドがある場合は、文字列の表示色が赤くなり、一時
  180. ;   停止の状態になります。演奏の再開は、マウスの左ボタンで行います。
  181. ;
  182. ;  ■「機能(G)」→「繰返し演奏(R)」の選択で、現在のデータを繰返し演奏させる
  183. ;   ことができます。再度選択すると、繰返し演奏は解除されます。
  184. ;   データ内に“STOP”コマンドがある場合は、STOPコマンド間に限定した範囲で
  185. ;   の繰返しになります。
  186. ;
  187. ; ---------------------------------- ♪
  188. ;  (3)シークバーの扱い方
  189. ; ----------------------------------
  190. ;  ■鍵盤上部のシークバーを動かして演奏開始位置を指定できます。
  191. ;   また、スライド領域(下図)をクリックすることで、一気にその位置へつまみを
  192. ;   シークさせることができます。
  193. ;   ただし、スライド領域をクリックした際、データ内に“STOP”コマンドがある
  194. ;   場合は、STOPポイントに位置決めします。
  195. ;
  196. ;    ┌─┬─────────────────┬─┐
  197. ;    │<│       □         │>│
  198. ;    └↑┴─────↑───↑───────┴↑┘
  199. ;    左側矢印    スライド領域       右側矢印
  200. ;
  201. ;  ■シークバーのスライド領域(上図)をマウス右ボタンでクリックすると、以下の
  202. ;   一連の処理が実行されます。この機構は曲を入力作成する際に、頻繁に繰返さ
  203. ;   れる操作手順を想定しています。
  204. ;      ①リロード
  205. ;      ②クリック位置にシーク
  206. ;      ③演奏開始
  207. ;
  208. ;  ■左側矢印(上図)をマウス右ボタンでクリックすると、リロードした後に、
  209. ;   曲頭より演奏を開始します。
  210. ;   リロードのみを実行したい場合は、右側矢印(上図)をマウス右ボタンで
  211. ;   クリックして下さい。メニューの「リロード(R)」と同じ処理となります。
  212. ;
  213. ; ---------------------------------- ♪
  214. ;  (4)メンバ色の確認
  215. ; ----------------------------------
  216. ;  ■「情報(I)」→「メンバ色一覧(M)」の選択で、鍵盤上に表示される各メンバの
  217. ;   色を確認できます。データがロードされている状態であれば、その演奏に参加
  218. ;   しているメンバーに★印が付き、かつそのメンバーの使用楽器が表示されます。
  219. ;   演奏途中で楽器の持替えが起ると、リアルタイムに表示が切替わります。
  220. ;
  221. ;  ■★印の付いているメンバーをマウス左クリックすると、印が☆に変り、
  222. ;   そのメンバの演奏だけを止めさせることができます。
  223. ;   再度クリックすると★に戻り演奏を再開します。
  224. ;   また、マウスの右クリックで、すべての★印を一斉に切替えることができます。
  225. ;
  226. ;  ■この機能は、Museデータ作成過程において、各メンバーを分離してデバッグ
  227. ;   したり、楽器の音色を微調するのに便利です。また、主旋律を止めて伴奏だけ
  228. ;   にすれば、カラオケソフトとしても活用できます。
  229. ;
  230. ; ---------------------------------- ♪
  231. ;  (5)MIDI音源の選択
  232. ; ----------------------------------
  233. ;  ■「情報(I)」→「音源の選択(V)」を選ぶことで、あなたのパソコンに搭載され
  234. ;   ているMIDI出力デバイスの諸元を確認し、使用するデバイスを選択することが
  235. ;   できます。 各ページに1つの音源が割当てられています。
  236. ;   ページ切替えは右上にあるスピンボタンで行って下さい。
  237. ;
  238. ;  ■MIDI音源がGS系かXG系かで、ドラムの音色配列が多少異なります。
  239. ;   「ドラムの試聴」ダイアログにおいて、o1列とo6列の音色がボタン記述と
  240. ;   違う場合は、「音源の選択」ダイアログの“音源タイプ”ラジオボタンで、
  241. ;   GSとXGとを切替えて下さい。初期値は一律GSになっています。
  242. ;
  243. ; ---------------------------------- ♪
  244. ;  (6)楽器やドラムの試聴
  245. ; ----------------------------------
  246. ;  ■「機能(G)」→「楽器の試聴(P)」および「ドラムの試聴(Z)」の選択で、ボタン
  247. ;   の沢山並んだダイアログが出現します。それらのボタンを押して音色を確認で
  248. ;   きます。
  249. ;
  250. ;  ■それぞれの試聴ダイアログには、[x0] の音名タイプボタンがあり、これを押下
  251. ;   すると、音名の表示形式を切替えることができます。また、シークバーで音色
  252. ;   エフェクト(残響・揺らぎ・コーラス)や音程・ピッチの変化を確認できます。
  253. ;
  254. ;  ■音を止めるには、マウスの右ボタンを任意の位置でクリックします。
  255. ;   「楽器の試聴」には、音を止めるための [■] ボタンや、再開するための [♪]
  256. ;   ボタンも付いています。
  257. ;
  258. ;  ■「楽器の試聴」も「ドラムの試聴」も、最後の試聴音に対応した文字列がクリ
  259. ;   ップボードにセットされます。したがってテキストエディタ側で“貼り付け”
  260. ;   を選択することで、入力を簡便に行えます。
  261. ;
  262. ;  ■「ドラムの試聴」ダイアログの下辺に並んでいる選択ボタンで、ドラムセット
  263. ;   を選ぶことができます。標準以外のセットを選ぶと、標準と異なる音色ボタン
  264. ;   に黒丸●が付きます。(付き方は、SG/XGの音源タイプより異なります)
  265. ;   Ethnic や SFX のドラムセットを選ぶと、ボタン名が効果音名称に切替ります。
  266. ;   (XG音源では切替りません)
  267. ;
  268. ;  (注)MIDI音源がGS系かXG系かで、ドラムの音色配列が多少異なります。
  269. ;    「ドラムの試聴」ダイアログにおいて、o1列とo6列の音色がボタン記述と
  270. ;    違う場合は、「音源の選択」ダイアログで音源タイプを切替えて下さい。
  271. ;
  272. ; ---------------------------------- ♪
  273. ;  (7)データ編集とマニュアル表示
  274. ; ----------------------------------
  275. ;  ■「機能(G)」→「データ編集(D)」の選択で、テキストエディタが起動し、現在
  276. ;   ロードされているデータが表示されます。起動するエディタは拡張子(.txt)と
  277. ;   関連付けられているアプリケーションです。
  278. ;
  279. ;  ■同様に「情報(I)」→「マニュアル表示(H)」の選択で、本ファイル(Readme.txt)
  280. ;   が表示されます。
  281. ;
  282. ;  (注)「マニュアル表示」の機能を使用するためには、
  283. ;    “Readme.txt”と“Muse.exe”を同一フォルダに配置する必要があります。
  284. ;
  285. ; ---------------------------------- ♪
  286. ;  (8)フィンガー拍数の確認
  287. ; ----------------------------------
  288. ;  ■「情報(I)」→「フィンガー拍数(F)」の選択で、現在ロードされているデータ
  289. ;   の各フィンガーの拍数(使用されている音符の数)を確認できます。この機能は
  290. ;   データ作成中に、各フィンガーのタイミングが狂っていないかをチェックする
  291. ;   のに役立ちます。どこかでタイミングが狂ったら、“;”“!”*STOP"" などを
  292. ;   利用し、部分的にコメントアウトしながら問題の箇所を絞り込んで下さい。
  293. ;
  294. ;  ■できるだけ全音符に繰上げた音長で表示されますので、4/4拍子の場合は、
  295. ;   全音符の値が小節数を表すことになります。最後の“i”マークの位置にある
  296. ;   値は、六十四分音符より短い音長が存在する場合の端数です。六十四分音符を
  297. ;   60とした時の音長を表しています。
  298. ;
  299. ;  ■左上の[ 偶奇 ]ボタンを押すと全音符が付点二分音符に変わります。奇数拍子
  300. ;   系のワルツなどはこちらの方がわかりやすいでしょう。世の中には多種多様な
  301. ;   拍子が存在し、しかも途中で変化する曲もよくあります。Museは基本的に小節
  302. ;   の概念がありません。よってこのフィンガー拍数はあくまでも目安です。
  303. ;
  304. ;  ■長い音長側への繰上げカウント表示のため、二分音符から六十四分音符までは、
  305. ;   あたかも2進法のビット表記のごとくカウントされます。
  306. ;
  307. ;  (注)20世紀、ノイマンが計算機工学に2進法を導入する遙か以前から、音楽の
  308. ;    音長表記は2進法で行われていた訳です。それは、人間の五感が対数的感度
  309. ;    を持つ事と絶妙な調和を成しています。どうも、音楽というものは“感性”
  310. ;    と“論理性”という差こそあれ、数学と同系の審美性があるようです。
  311. ;    ピタゴラスが熱中するはずです。
  312. ;
  313. ;  ■また、リスト右側の欄には、各フィンガーの最終的な属性値が表示されます。
  314. ;   オクターブ値や音量など、曲尾の段階で指定されている値を確認できます。
  315. ;   特に音量については、フィンガー(v)とメンバー(V)の両方があるので、データ
  316. ;   作成時の混乱を避けるため、最左欄にメンバー側の音量も併記しています。
  317. ;
  318. ; ---------------------------------- ♪
  319. ;  (9)MIDIファイルのセーブ
  320. ; ----------------------------------
  321. ;  ■「ファイル(F)」→「エクスポート(E)」の選択で、現在ロードされている
  322. ;   データをMIDIファイルとして出力します。形式はGMフォーマット0です。
  323. ;
  324. ;  ■TPQNは120を採用。テンポは全編を通して125固定で換算します。
  325. ;   Museには小節の概念が無いため、拍子メタイベントは4/4固定で出力します。
  326. ;   著作権のメタイベントには“Generated by MUSE”と刻印させて頂きました。
  327. ;   Museの“V”指定はエクスプレッションに反映され、一方、マスタボリューム
  328. ;   メッセージは100で定値出力します。ランニングステータスは使用しません。
  329. ;
  330. ;  ■「メンバー色一覧」ダイアログで、☆印状態にしたメンバーは出力しないので、
  331. ;   メンバー毎のMIDIファイルを作成することも可能です。
  332. ;   ただし、*TEXTなどコマンドに対応するメタイベントは、すべて出力されます。
  333. ;
  334. ;  ■出力されるドラムの音色配列は「音源の選択」ダイアログで現在選ばれている
  335. ;   音源の“音源タイプ”(GS,XG)に従います。どちらのタイプで出力が行われよう
  336. ;   としているかは、「保存」ダイアログのウィンドウタイトルに表示されます。
  337. ;
  338. ; ---------------------------------- ♪
  339. ;  (10)キー操作による演奏制御
  340. ; ----------------------------------
  341. ;  ■演奏の制御はマウスによる方法以外に、以下のキー操作でも行えます。
  342. ;    スペース  :演奏の開始/一時停止(鍵盤上のマウス左ボタンと等価)
  343. ;    BSキー  :演奏の停止→曲頭巻戻(    〃  右ボタンと等価)
  344. ;    矢印[←][→]:演奏位置のシーク
  345. ;    矢印[↓]  :リロード
  346. ;    矢印[↑]  :リロード後、曲頭から演奏再開
  347. ;
  348. ;  ■矢印[←][→]でシークを行う際、シフトキーを併用すると、シーク速度が
  349. ;   上がります。離れた位置へ素早くシークしたい場合に利用して下さい。
  350. ;
  351. ;  ■矢印[↓][↑]でリロードを行う際、文法エラーが存在すると、その内容が
  352. ;   クリップボードにもコピーされます。
  353. ;
  354. ; ---------------------------------- ♪
  355. ;  (11)コマンドラインによる起動
  356. ; ----------------------------------
  357. ;  ■Windowsであっても、以下の局面でコマンドラインを活用する事ができます。
  358. ;    ・ショートカットのプロパティにおける“リンク先”欄の記述
  359. ;    ・“アプリケーションの関連付け”による定義
  360. ;    ・[スタート]→[ファイル名を指定して実行]による起動
  361. ;    ・MS-DOSプロンプトからの起動
  362. ;
  363. ;  ■コマンドラインによる起動では、以下のような引数を与えることが可能です。
  364. ;   データパスが指定されると、起動時にそのデータが読込まれます。
  365. ;
  366. ;    muse [データパス] [オプション]
  367. ;
  368. ;   (注)データパスにスペースが含まれる場合は、
  369. ;     データパス全体をダブルコーテーションで括って下さい。
  370. ;
  371. ;  ■オプションは以下の指定を組合わせることができます。
  372. ;    *i 最小化されたウィンドウで起動します。
  373. ;    *x Museの多重起動を抑止します。(既に起動しているMuseを強制終了する)
  374. ;    *p 起動直後に演奏を開始します。(データパスが存在する時にのみ有効)
  375. ;    *e 演奏が終了するとMuse自体が終了します。
  376. ;
  377. ;
  378. ;
  379. ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  380. ;┃【第2章】                 Museコーディングの手引き ┃
  381. ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  382. ;
  383. ;    ♪ 本章は、Museファイルのコーディング例が各所に出てきます。
  384. ;      例示の部分は、行頭1文字目にセミコロンが無い行です。
  385. ;
  386. ;    ♪ 実は、このReadme.txt自体がMuseのデータファイルになっています。
  387. ;      本ファイルをMuseに読込ませて、実際に聴きながら読んで頂くと、
  388. ;      理解も早いと思われます。
  389. ;
  390. ;    ♪ 演奏は各節で一時停止するようになっています。
  391. ;      鍵盤をマウスクリックして次に進めて下さい。
  392. ;      シークバーで位置決めもできます。
  393. ;
  394. ;
  395. ;        ==================================♪
  396. ;            [1]ピアノ独奏
  397. ;        ==================================
  398. ;
  399. ;-----------------------------------------------------------------------------
  400. %*STOP        "(1-1) まずはドレミを鳴らしてみよう"
  401. ;-----------------------------------------------------------------------------
  402. ;
  403. ; 楽典における音名は以下の様に4系統あります。
  404. ;
  405. ;    日本: ハ ニ ホ ヘ ト イ ロ
  406. ;    英米: C D E F G A B
  407. ;     独 : C D E F G A H ← 古代旋法の名残でHである。
  408. ;     伊 : Do  Re  Mi  Fa  Sol La  Si
  409. ;
  410. ; Museはこの内、日本の小学生に馴染の深いイタリア系と、音楽的素養をお持ちの方
  411. ; 向けに英米系、更にグレードの高い独系の3種類の記譜をサポートしています。
  412. ; デフォルトでは、イタリア語になっています。
  413. ; つまり“ドレミファソラシ”です。これらの各音を“d r m f s l c”という
  414. ; 小文字のアルファベットに対応させています。これを並べれば音が出ます。
  415. ; 休符も一種の音名ととらえ、アンダーバー“_”で表現します。
  416. ; 各音の間のスペースは無くとも構いません。
  417. ;
  418.     d r m f s l c _
  419. ;
  420. ; 英米系における対応文字は“c d e f g a b”です。
  421. ; 独系は英米系に対し、最後の“b”が“h”となり、“b”は“h”の半音下がった音
  422. ; として解釈されます。
  423. ; これら音名の切り替えは、記譜する前に“x”指定を与えることで行います。
  424. ; “x0”がイタリア系、“x1”が英米系、“x2”が独系です。
  425. ;
  426.     x2 c d e f g a h x0 l s f m r d
  427. ;
  428. ; (注)実はMuseの音名は「音階」の名称というよりは、五線紙上の「位置」の名称と
  429. ;   定義する方がふさわしいのです。ですから、まさに“日本人”が愛用している
  430. ;   “ドレミ”の概念に近いと言えます。以降、本マニュアルではイタリア系の音
  431. ;   名で説明を進めます。
  432. ;
  433. ;-----------------------------------------------------------------------------
  434. %*STOP        "(1-2) オクターブの指定はどうやるのかな"
  435. ;-----------------------------------------------------------------------------
  436. ;
  437. ; オクターブの指定は、o0 o1 o2 o3 o4 o5 o6 o7 o8 で行います。添えられた数字
  438. ; が大きくなる程、高いオクターブを表します。基本のドはo4に設定されています。
  439. ; この他にも、現在のオクターブを相対的に上下させる“<”“>”があります。
  440. ;
  441.     o4 d r m f s l c o5 d r m f s l c o6 d
  442.     o3 d r m f s l c  < d r m f s l c  < d
  443. ;
  444. ; 相対オクターブ指定のみで記述しておくと、出だしの絶対オクターブの指定を切替
  445. ; えるだけで、全体のオクターブをシフトできるので便利です。
  446. ;
  447. ;-----------------------------------------------------------------------------
  448. %*STOP        "(1-3) 半音の指定はどうやるのかな"
  449. ;-----------------------------------------------------------------------------
  450. ;
  451. ; シャープは音名の後ろに“+”を添え、フラットは音名の後ろに“-”を添えます。
  452. ;
  453.     o4
  454.     d d+ r r+ m f f+ s s+ l l+ c < d
  455.     d > c c- l l- s s- f m m- r r- d
  456. ;
  457. ; また、ダブルシャープ、ダブルフラットを指定する場合は、それぞれ“++”“--”
  458. ; と2つの記号を続けて音名の後ろに添えて下さい。
  459. ;
  460. ;    d++ m--
  461. ;
  462. ; なお、Muse記法は小節の概念が無いため、臨時半音記号が小節内で効果があると
  463. ; いう楽譜の一般則は当てはまりません。必要な箇所には個々に付けて下さい。
  464. ; ただし、次の節で紹介する調性の指定は可能です。
  465. ;
  466. ;-----------------------------------------------------------------------------
  467. %*STOP        "(1-4) 調性の指定方法"
  468. ;-----------------------------------------------------------------------------
  469. ;
  470. ; 調性が決っている場合、いちいち各音に“+-”を添えるのが面倒なのは譜面と同じ
  471. ; です。この様な場合は“\”の後に“+”“-”を必要な数だけ添えて調を指定でき
  472. ; ます。以下はイ長調の例です。この例では降下する時にナチュラルにしてみました。
  473. ; ナチュラルの指定は音名の後ろに“=”を添えて指定します。当然のことながら、
  474. ; 臨時記号として添えた“+”“-”“++”“--”“=”は調性より優先します。
  475. ;
  476.     \+++
  477.     o4
  478.     l c < d r m f s l
  479.     l s= f= m r d= > c l
  480. ;
  481. ; 調の変更は任意のタイミングで行うことができます。
  482. ; ハ長調に戻す時は“\=”という記述をします。
  483. ;
  484. ; (注)“x2”の独系音名の場合、音名“h”はフラット系の調性の影響を受けません。
  485. ;   この場合に限り、実音“b”で記述して下さい。
  486. ;
  487. ;-----------------------------------------------------------------------------
  488. %*STOP        "(1-5) 音の長さを指定しよう"
  489. ;-----------------------------------------------------------------------------
  490. ;
  491. ; 音名あるいは半音記号“+-=”の後に、数字を添えて音長を表します。
  492. ; 添える数字は、1,2,4,8,16,32,64 の7種類に限定されており、それぞれ全音符、
  493. ; 二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符に
  494. ; 対応しています。休符の長さもこの数字を添えて表現します。
  495. ;
  496.     \=
  497.     r8 f8 l4 l8 l8 l4 s8 l8 c-4 c-8 c-8 c-2 l4 m8 f8 s4 f8 m8 l1
  498. ;
  499. ; (注)音長にはゼロの指定も可能ですが、通常の音名に添えると演奏されない音に
  500. ;   なります。音長のゼロ指定は、“(1-16)和音とタイミングコントロール”や
  501. ;   “(1-19)再現表記の活用”で、初めてその効果を発揮します。
  502. ;
  503. ;-----------------------------------------------------------------------------
  504. %*STOP        "(1-6) 付点の表現"
  505. ;-----------------------------------------------------------------------------
  506. ;
  507. ; 付点は音長数字の後にピリオド“.”を添えて表現します。
  508. ;
  509.     \= o5
  510.     d4 f4. f8 f4 l4 s4. f8 s4 l4 f4 f4 l4 < d4 r2
  511. ;
  512. ; 複付点は2つのピリオド“..”を添えて表現します。
  513. ; 添えられる付点は2つまでです。3つ以上の付点を添えたい場合は、次節で紹介
  514. ; する音長の加算を活用して下さい。
  515. ;
  516. ;-----------------------------------------------------------------------------
  517. %*STOP        "(1-7) タイの表現"
  518. ;-----------------------------------------------------------------------------
  519. ;
  520. ; 音長数字は“^”を挟んで連ねる事で、加算できます。この記号を音長の加算記号
  521. ; と呼びます。この加算記号はいくつでもつなげる事ができるので、音長に関して、
  522. ; かなり柔軟に対応できます。したがって、ほとんどのタイ記述は本指定でできます。
  523. ; 前節の付点はもちろん、複付点、複々付点にあたる長さも表現できます。
  524. ;
  525.     \++++ o4
  526.     >c2< m2 r4 m4 f2^2. s4 s4 f4 s1^4 l4 l4 s4 <d2.> c4 l4 s4 r4 m4 f1
  527. ;
  528. ; (注)後述する連符にかかるタイや、マクロ範囲をまたがるタイなどを記述する
  529. ;   必要がある場合は“音符の連結”という概念を用います。
  530. ;    →“(1-18) 音符の連結”を参照のこと。
  531. ;
  532. ; 何小節もかけてタイが続く様な場合、綿々と加算記号を記述することになります。
  533. ; この様な時は、逆シングルコーテーション“`”を利用すると簡潔に記述できます。
  534. ; この記号は乗算記号と呼び、添えられた音長を指定数だけ繰返し加算します。
  535. ;
  536. ;    d2^2^2^2^2^2^2^2^2^2^2^2^2^2  →  d2`14
  537. ;
  538. ; 乗算記号と加算記号は混在して記述できます。この場合、乗算記号が優先して演算
  539. ; されます。なお、乗算記号は連続して記述することは出来ません。
  540. ;
  541. ;    d1^2`4^8`3  →  d1^2^2^2^2^8^8^8 (乗算記号が優先する例)
  542. ;    d2`4`3    →  NG       (乗算記号は連続記述不可)
  543. ;
  544. ;-----------------------------------------------------------------------------
  545. %*STOP        "(1-8) コメントを使って可読性を高める"
  546. ;-----------------------------------------------------------------------------
  547. ;
  548. ; 音程と音長が組み合さると、音楽の様相を成してきます。
  549. ; 一つ比較的長めの旋律を書いてみましょう。
  550. ; 本格的に曲を記述する場合、可読性のあるコーディングを意識する必要があります。
  551. ; Museは可読性を高めるため、次の様なコメント記述を準備しています。
  552. ;
  553. ; 【ライン・コメント】
  554. ;  ・セミコロン(;)以降改行まではコメントとして無視する。
  555. ;
  556. ; 【ブロック・コメント】
  557. ;  ・感嘆符(!)で囲まれた部分はコメントと見なす。
  558. ;  ・後部の感嘆符が無い場合は、前部からファイル末尾までをすべからく無視する。
  559. ;
  560. ; 【キャンセル文字】
  561. ;  ・スペース・タブ・改行・全角文字・半角カタカナ・半角縦棒(|)は無視する。
  562. ;
  563.     ★線路は続くよどこまでも(アメリカ民謡)
  564.     \+
  565.     ┃ s4.r8s8.r16s8.l16  ┃ c2s2    ┃ <d4.d8>s4l4 ┃ c2._4 ┃
  566.     ┃ s4.r8s8.r16s8.l16  ┃ c2s2    ┃ l4.l8l4c4   ┃ l2._4 ┃
  567.     ┃ l4.l8s+8.l16c8.l16 ┃ s2r2    ┃ <d4d4>s4l4  ┃ c2._4 ┃
  568.     ┃ m4.f8s8.f16s8.m16  ┃ r4.r8s2 ┃ c4.<d8>c4l4 ┃ s2._4 ┃
  569. ;
  570. ; 特に、半角の縦棒(|)や全角の縦棒(┃∥)は小節の区切りとしてお薦めです。
  571. ; 他にも 〓 ⇒ ⇔ Γ ∧ ∨ < > ⌒  ∩ ¬ : ※ ♯ ♭ ♪ † ‡ ¶ などなど、
  572. ; 全角文字の豊富な表現力を、すべてコメントとして使用できます。
  573. ;
  574. ; セミコロンは、ある行をちょっとコメントアウトしたい時や、行の末尾に
  575. ; コメントを付けたい時などに便利です。
  576. ; 感嘆符は、データの途中から最後までを全てコメント化することができるので、
  577. ; ある程度書き進んだデータの途中部分をデバッグする時に便利です。
  578. ;
  579. ;-----------------------------------------------------------------------------
  580. %*STOP        "(1-9) スタッカートの指定方法"
  581. ;-----------------------------------------------------------------------------
  582. ;
  583. ; スタッカートは音長数字や付点の後にスラッシュ“/”を添えることで表現します。
  584. ; スラッシュは最大4つまで付けることができ、その数でスタッカートの強さを表し
  585. ; ます。
  586. ;
  587.     ★ベートーベン 交響曲第6番「田園」
  588.     \- o4
  589.     ┃_8.l8.c8.<r8.   ┃d8.>c16.l16.s8.    d8.    ┃f8.s8.l8.c16.l16.┃s2.
  590.     ┃_8.l8.c8.<r8.///┃d8.>c16.l16.s8.////d8.////┃f8.s8.l8.c16.l16.┃s2.
  591. ;
  592. ; スラッシュの数と強さの関係は“【第3章】Muse文法リファレンス”を参照し
  593. ; て下さい。
  594. ;
  595. ;-----------------------------------------------------------------------------
  596. %*STOP        "(1-10) 省略音長について"
  597. ;-----------------------------------------------------------------------------
  598. ;
  599. ; 省略音長とは、本来記述すべき音長部分の指定が省略された場合、直前に指定した
  600. ; 音長が採用されるという機構です。
  601. ; 音長の変り目だけを意識すれば良いので、記述量がぐっと減ります。
  602. ;
  603.     ★アルプス一万尺(アメリカ民謡)
  604.     \+ o4
  605.     s8 s8 l8 c8 s8 c8 l8 r8 s8 s8 l8 c8 s4 f8 r8 ; 省略音長を使用しない例
  606.     s8 s l c <d> c l s f r m f s4.               ; 省略音長を使用した例
  607. ;
  608. ; 省略音長は音長数字が無い部分に、直前の音符の音長がセットされます。
  609. ; 加算記号を使いつつ、局所々々で音長を省略すると、その各部分に省略音長が
  610. ; セットされます。そして結果として生成された全体の音長が新たな省略音長として
  611. ; 次の音に継承されていきます。
  612. ;
  613. ;    d4 m^8^ s → d4 m4^8^4 s4^8^4
  614. ;
  615. ; 省略音長の対象には、スタッカートの指定も含まれます。次にスタッカートを明示
  616. ; しない限り、直前のスタッカートが引継がれます。省略音長からスタッカートを
  617. ; クリアしたい場合は、音長数字を明示して下さい。
  618. ;
  619. ;                           ここでスタッカートをクリア
  620. ;                             ↓
  621. ;    d8// r^     m      f/    s4 c     (省略音長を使用した場合)
  622. ;    ↓
  623. ;    d8// r8^8// m8^8// f8^8/ s4 c4    (省略音長を使用しない場合)
  624. ;
  625. ;-----------------------------------------------------------------------------
  626. %*STOP        "(1-11) 連符の表現"
  627. ;-----------------------------------------------------------------------------
  628. ;
  629. ; 連符は、丸括弧(  )で音名をくくり、閉じ括弧側に音長を添えることで表現します。
  630. ; 添えた音長内で括弧内の音がすべて納まる様に各音の音長が配分されます。
  631. ; 八分音符内に納める三連符は次のようになります。
  632. ;
  633. ;    ( d r m )8
  634. ;
  635. ; なお連符における音長も省略可能であり、省略音長の概念が適用できます。
  636. ;
  637.     ★ヴェルディ「アイーダ行進曲」
  638.     \- o4
  639.     d4 ┃f2. (sds)4 ┃ l l l (lcf) ┃ l4. s8 f4 _ ┃
  640.        ┃s8 l l8. s16 f8 _ s8. l16 ┃ l4 s8. l16 l4 f8. s16 ┃ s2. _2
  641. ;
  642. ; この連符記法は括弧内に入る音符の数で何連符か判断します。また括弧末尾に付け
  643. ; る数値で音長を自由に指定できますから、トリルやグリッサンドなどの奏法記述に
  644. ; 利用することができます。
  645. ;
  646.     \=
  647.     ( <drdrdrdrdrdr> )2            ;←トリル
  648.     ( <mff+ss+ll+c<dd+rr+m>> )2    ;←グリッサンド
  649. ;
  650. ; 連符内の音長指定はその配分比率を決定するために存在するので、直接実際の音長
  651. ; を表現しませんが、連符内での不均一な音長記述や、装飾音記述が可能となります。
  652. ;
  653.     _4. m4. f4. ( s-32 s4 l-32 l4 c-32 c4 )4. < d2 >
  654. ;
  655. ; 連符においての省略音長は、まず閉じ括弧に添えられた音長が効果しますので、
  656. ; スタッカートで連符を演奏したい場合は、最後の音長にスタッカートの指定を
  657. ; すれば、全体に渡ってスタッカートが効きます。
  658. ;
  659. ;    ( d r m f s )2//
  660. ;
  661. ; 中身の無い連符は、直前に記述した連符の再現を意味します。この記法を利用する
  662. ; と、同一のアルペジオパターンが繰り返される演奏を簡素に表記できます。
  663. ;
  664.     o3 ( ds<dmmfmd> )2 ( ds<dmmfmd> ) ( ds<dmmfmd> ) ( ds<dmmfmd> ) _4
  665.     o4 ( ds<dmmfmd> )2 ()()() _4  ;←上記を簡略化した記法
  666. ;
  667. ;-----------------------------------------------------------------------------
  668. %*STOP        "(1-12) テンポを変えてみる"
  669. ;-----------------------------------------------------------------------------
  670. ;
  671. ; テンポの指定は“%”に続く10~999の範囲の数値で行います。
  672. ; この数値は、1分間あたりの四分音符の拍数を表します。
  673. ; テンポ指定は任意のタイミングで何度でも変更できます。
  674. ;
  675.     ★おお牧場はみどり(チェコスロバキア民謡)
  676.     \+
  677.     %120
  678.     o4 r4 >c8.< d16 r4 c s m r2
  679.     %80
  680.     o2 c8 c4 <d8> c4 l l8 l4 c8 l s c4
  681.     %300
  682.     o5 r4 >c8.< d16 r4 c s m r2 c8 c4 <d8 r4 d> m f s _
  683. ;
  684. ;-----------------------------------------------------------------------------
  685. %*STOP        "(1-13) 装飾音の付け方"
  686. ;-----------------------------------------------------------------------------
  687. ;
  688. ; 装飾音は、次の音が出る直前に鳴らすのが一般的です。したがって、直前の音を
  689. ; 装飾音の音長だけ短くし、そこに装飾音を埋め込んで次の音がきちんと拍に合う
  690. ; ようにする必要があります。これを記述するには、音長を少しだけ短くする指定
  691. ; があると便利です。この指定は“~”で行います。この指定を音長の減算記号と呼
  692. ; びます。例えば、四分音符の長さを十六分音符だけ短くするには次のように指定
  693. ; します。
  694. ;
  695. ;  d4~16
  696. ;
  697.     ★サラサーテ「チゴイネルワイゼン」
  698.     %60 \---
  699.     ┃o5 > s8 < d8 r8 ┃ m2 r4~16 (drmr)16 d8. > c=16 < ┃ d4 _4
  700. ;
  701. ; 加算記号“^”を音長のプラス記号とすれば、減算記号“~”は音長のマイナス記号
  702. ; と例えることができます。
  703. ;
  704. ;    d2~32 → d4^8^16^32
  705. ;
  706. ; 減算記号“~”指定は、いくつでもつなげられる性質や、省略音長に対するルール
  707. ; など、すべて加算音長“^”指定と同等です。両者を混在して記述することも可能
  708. ; です。結局、3つの演算記号(加算・減算・乗算)は、数式風に記述できます。
  709. ;
  710. ;    d2^4^8`3~16 → 2分音符+4分音符+(8分音符×3)-16分音符
  711. ;
  712. ;-----------------------------------------------------------------------------
  713. %*STOP        "(1-14) 音の強さを指定しよう"
  714. ;-----------------------------------------------------------------------------
  715. ;
  716. ; 音の強弱は“v”に続く0~127の範囲の数値で行います。
  717. ; この数値は数が大きいほど強くなり、0で無音状態となります。
  718. ;
  719.     ★スメタナ 交響詩「我が祖国」より“モルダウ”
  720.     %100 \+ o4
  721.     v90 >c8<     m4     f8     s4     l8c4c8c4.      <d4. d>     c4.^4 _2
  722.     v50 >c8< v80 m4 v60 f8 v90 s4 v60 l8c4c8c4. v120 <d4. d> v70 c4.^4 _2
  723. ;
  724. ; “v0”で無音になると鍵盤上のメンバ色による表示もされません。
  725. ;
  726. ; また“v”の後に符号±付の数値を指定すると、現在の強弱値を相対的に変化させ
  727. ; ることができます。相対指定で記述しておくと、出だしの絶対指定を切替えるだけ
  728. ; で、強弱の流れを保ったまま、全体の強さをシフトできるので便利です。
  729. ;
  730.     v30 d4 v+30 m4 v+30 s4 v+30 <d4> v-30 s4 v-30 m4 v-30 d4
  731. ;
  732. ; (注)相対変化の結果が 1~127 の範囲を越える場合は、1あるいは127の限界値
  733. ;   がセットされます。相対変化では“v0”にまで達しません。
  734. ;
  735. ;-----------------------------------------------------------------------------
  736. %*STOP        "(1-15) 音部記号について"
  737. ;-----------------------------------------------------------------------------
  738. ;
  739. ; 音部記号には、一般に馴染み深い“ト音記号”や“ヘ音記号”の他に“ハ音記号”
  740. ; というものもあり、しかもハ音記号はソプラノ記号からバリトン記号まで5種類
  741. ; も存在します。結局、音部記号は合計7つの種類があることになります。
  742. ; 馴染みの薄い音部記号でかかれた譜面を読みとるのは大変労力が要ります。
  743. ;
  744. ; そこで音部記号“?”を導入しました。“?”に続く0~6の数字で7種の音部記号
  745. ; を表します。この7つの分類に関しては“【第3章】Muse文法リファレンス”
  746. ; を参照して下さい。この記号は、譜面上の音部記号を指定することで、あたかも
  747. ; その譜面がト音記号で書かれたものとして“d r m”の入力ができるというもので、
  748. ; まさに譜面を写し取る記法としては極め付け、しかし音楽的には邪道な記法です。
  749. ; ここまでくると、Museにおける“d r m”の記号は、「音程」ではなく、五線上の
  750. ; 音符の「位置」を表す記号であると解釈してもらった方が良いかも知れません。
  751. ; 以下の例は、へ音記号で書かれた譜面をト音記号で読み取り記述したものです。
  752. ;
  753.     ★シューベルト「未完成交響曲」
  754.     \++
  755.     ?6 o4 v127 s2. l2c4 s2. f4rm >c2l4< r2.^2.^2. v100 _2
  756. ;
  757. ; (注)実音での入力が速やかにできる方は、この指定を使う必要はありません。
  758. ;   へ音記号だろうがハ音記号だろうが、すべからく“?0”すなわちデフォルトの
  759. ;   状態で入力して下さい。
  760. ;
  761. ;-----------------------------------------------------------------------------
  762. %*STOP        "(1-16) 和音とタイミングコントロール"
  763. ;-----------------------------------------------------------------------------
  764. ;
  765. ; いよいよ複数の音を同時に鳴らす節にたどり着きました。あるタイミングで同時
  766. ; に音を鳴らすには、その音を鍵括弧 [  ] でくくるだけです。
  767. ; この鍵括弧内にはいくつでも音を指定でき、すべての音が一斉に鳴り出します。
  768. ; また、それぞれの音に音長を指定できるので、直ぐに終る音から最後まで残る音
  769. ; まで混在させることができます。
  770. ;
  771.     %125 \= v100 ?0 o4
  772.     [ d2 m2 s2 ] _2 [ d2 f4. l4. ] _2 [ >c2< r2. s1 ] _1
  773. ;
  774. ; さて、今までの節ではある音を出すタイミングは、その一つ前の音が鳴り終って
  775. ; からという暗黙の了解がありました。しかしこの和音においては、それぞれの音
  776. ; の鳴り終わるタイミングを変えることができるため、次の音が鳴り始めるタイミ
  777. ; ングをどこかで指定する必要があります。その指定は、閉じ鍵括弧に音長を添え
  778. ; ることで行います。つまり鍵括弧に添えた音長が、和音全体の占有する時間であ
  779. ; ると言うわけです。よって、この占有音長よりも長い音長の音が和音内に記述さ
  780. ; れていれば、それが鳴りやむ前に次の音が鳴り始めることになります。
  781. ;
  782.     %50
  783.     [ d2 m2 s2 ]4 < d8 r8 m8 _4
  784. ;
  785. ; 和音においての省略音長は、まず閉じ括弧に添えられた占有音長に伝わり、和音の
  786. ; 先頭に戻って、順次伝播していきます。一般に和音は、和音を構成するすべての音
  787. ; の長さと、占有音長が一致しているため、省略音長を有効に利用できます。
  788. ;
  789. ;    [ d2./ m2./ s2./ ]2. → [ d m s ]2./
  790. ;
  791. ; 和音における省略音長の継承プロセスは多少複雑なため、以下に図解しておきます。
  792. ;
  793. ;      ┌────①───┐
  794. ;      │           ↓
  795. ;    → ♪ [ ♪→♪→♪ ]♪─④→ ♪→
  796. ;         ↑ ③   │
  797. ;         │     │
  798. ;         └──②──┘
  799. ;
  800. ;  ①占有音長が省略されていると、直前の音長値が採用される。
  801. ;  ②和音の初音が省略されていると、占有音長の値が採用される。
  802. ;  ③和音内の省略音長値の継承は、和音内に閉じている。和音外へ継承されない。
  803. ;  ④次の音への省略音長値は、占有音長の音長が採用される。
  804. ;
  805. ;    (例)  d8/ [ r m4 f ] s → d8/ [ r8/ m4 f4 ]8/ s8/
  806. ;
  807. ; 連符における省略音長の継承プロセスも上記図解と同様のパターンを取ります。
  808. ;
  809. ;    (例)  d8/ ( r m4 f ) s → d8/ ( r8/ m4 f4 )8/ s8/
  810. ;
  811. ; 鍵括弧[  ]の記述は、主に和音表現のために使用しますが、括弧内の音長に関わ
  812. ; りなく次の音を出すタイミングをコントロールできる記法とも解釈できます。
  813. ; このために、鍵括弧に添える音長にゼロを添えることに意味があります。
  814. ; 例えば、ドの音を全音符で鳴らし続けながら、1オクターブ上でドミソの三連符を
  815. ; 演奏する場合は、次のように記述できます。
  816. ;
  817.     %50
  818.     o4 [ d1 ]0 < (d m s)1 _4
  819. ;
  820. ; また、ほんの少しだけ次の音にかぶる長さを指定する事で、スラーやレガートの
  821. ; 表現に利用することもできます。
  822. ;
  823.     %180
  824.     o4 d4 m s _1
  825.     [d4^32]4 [m4^32] [s4^32] _1 ← 32分音符だけ次の音と重なる指定
  826. ;
  827. ; なお、中身の無い和音は、休符と同じ意味になります。
  828. ;
  829. ;    []4 → _4
  830. ;
  831. ;-----------------------------------------------------------------------------
  832. %*STOP        "(1-17) コードによる伴奏"
  833. ;-----------------------------------------------------------------------------
  834. ;
  835. ; 伴奏を表現する手段として、音楽には“コード”という優れた記法があります。
  836. ; Museは29個のコードをサポートしており、容易に伴奏を付けることができます。
  837. ; 対応している各コードの詳細については“【第3章】Muse文法リファレンス”
  838. ; を参照して下さい。
  839. ;
  840. ; コードはシングルコーテーション '  ' でくくって表記します。通常譜面には、
  841. ; 英米語表記のCDEFGABの音階に♯や♭がが添えられて、更にコードネーム
  842. ; が続けて書かれています。Muse記法ではシングルコーテーションの中に、それを
  843. ; そのまま書写せば良いようになっています。また、シャープやフラットは+-の
  844. ; 表記では無く“#”と“b”(←小文字のB)を使って下さい。分数コードの記述も
  845. ; 可能であり、スラッシュ“/”で区切って記述します。音長の指定は、閉じ側の
  846. ; シングルコーテーションの後に音長表現を添えることで行います。
  847. ; なおコードにおける音長も省略可能であり、省略音長の概念が適用できます。
  848. ;
  849.     %100 o4
  850.     'D'4 _ 'D' _   ; コードDを四分音符で2回鳴らす
  851.     'D/F#'2 _      ; コードDにベース音F♯を添えて二分音符で鳴らす。
  852. ;
  853. ; 本来、伴奏コードは次章“[2]アンサンブル演奏”で紹介する方法で記述した方
  854. ; が格段に楽に入力できますが、まだ紹介していないので、ここでは前述の和音記法
  855. ; を使用して書いてみましょう。始めは伴奏無し、次に同じ旋律に伴奏を付けて演奏
  856. ; してみます。ちょっと、ごちゃごちゃしていますが、①と②で旋律の位置は合わせ
  857. ; てありますので、よく見比べてみて下さい。
  858. ;
  859.     ★山の音楽家(ドイツ民謡)
  860.     %92 \+ o4
  861.  
  862.     ①まずは無伴奏
  863.     r8  s8     s l      l c8.      <d16r8d>  c     c l        l  s4    _8
  864.  
  865.     ②次は伴奏付き
  866.     r8 [s'G'4]8s[l8'D'4]l[c'G'2]8. <d16r8d> [c'G'4]c[l>'D7'4<]l [s'G']4_8
  867. ;
  868. ; なお、CDEのコードは、現在のオクターブ値が採用されますが、
  869. ; FGABのコードは、1オクターブ低い側にシフトして演奏されます。
  870. ;
  871. ; またコードにおいては、その調性が既に考慮されて譜面上に記譜されているので、
  872. ; 以下の指定はあえて反映しないようになっています。
  873. ;
  874. ;    ・調性指定  \
  875. ;    ・音部記号  ?
  876. ;
  877. ;-----------------------------------------------------------------------------
  878. %*STOP        "(1-18) 音符の連結"
  879. ;-----------------------------------------------------------------------------
  880. ;
  881. ; 例えば、四分音符とそれに続く三連符の初音との間がタイになっている場合、加算
  882. ; 音長でそのタイを記述することはできません。その様な場合は“&”指定を利用し
  883. ; ます。“&”指定は、連続する同音階の音符を切れ目無く演奏させる指定です。
  884. ;
  885.     %125 \=
  886.     d4 & ( d m s )4 _2   ;←初音がタイ接続されている場合
  887.     ( s m d )4 & d4 _2   ;←終音がタイ接続されている場合
  888. ;
  889. ; 連符内に記述することもできます。
  890. ;
  891.     d4 ( & d r m f s & s & s f m r d  & )1 d4 _2
  892. ;
  893. ; この指定は、加算記号での表記よりも、本来のタイの記述に近いと言えましょう。
  894. ; 和音やコードの連結も可能であり、その場合は互いの構成音の内、音階の等しい音
  895. ; を連結します。
  896. ;
  897.     [ d m s ] & [ d f l ]   ;←ドの音だけがタイでつながる
  898. ;
  899. ; ただし、和音内の要素音同士に連結記号“&”を記述しても効果は現れません。
  900. ; 和音内で音長を連結したい場合は、加算記号“^”で表現して下さい。
  901. ;
  902. ;    [ d8 & d32 m2 s2 ]4 → エラーにはならないが連結はしない。
  903. ;    [ d8^32    m2 s2 ]4 → 8分音符+32分音符の長さが与えられる。
  904. ;
  905. ;-----------------------------------------------------------------------------
  906. %*STOP        "(1-19) 再現表記の活用"
  907. ;-----------------------------------------------------------------------------
  908. ;
  909. ; 同じ和音やコードが繰返されたり、リズムだけが変化する場合、思いの外、記述
  910. ; 量が増えてしまいます。
  911. ;
  912.     [l<df>]4 [l<df>] [l<df>] [l<df>] [l<dm>] [l<dm>] [sc<r>] [sc<r>]
  913.     <'F' 'F' 'F' 'F'> 'Dm' 'Dm' 'C' 'C' 'Dm' 'Dm' 'Dm' 'Dm' 'D'1 _4
  914. ;
  915. ; この様な場合は、再現表記を活用すると簡潔に記述することができます。
  916. ; この表記は、カンマ“,”を記述することで行います。カンマ部分には直前で鳴ら
  917. ; した、和音・コードの記述が再現されます。
  918. ; 上記の例を、再現表記を用いて表すと以下のようになります。
  919. ;
  920.     [l<df>] ,,, [l<dm>] , [sc<r>] ,              ; 和音
  921.     <'F' ,,, > 'Dm' , 'C' , 'Dm' ,,, 'D'1 _4     ; コード
  922. ;
  923. ; 再現表記は、休符や単一音を対象にしないので、休符や単一音が間で演奏されても
  924. ; 直前の和音・コードを再現することができます。また連符内でも記述可能です。
  925. ;
  926.     >s8.< [dms]16 _8. [dms]16 >s8.< [dms]16 ([dms][dms][dms])4
  927.     ↓
  928.     >s8.< [dms]16 _8. ,16 >s8.< ,16 (,,,)4
  929. ;
  930. ; 再現表記は、最後に添える音長部分を対象としないので、音長変化が起る場合でも
  931. ; 利用することができます。また省略音長を併用すれば、より簡潔な記述になります。
  932. ; 更に初音にゼロ音長を指定することで、リズムパターンを完全に分離できます。
  933. ;
  934.     _4 'Cm'8 'Cm'8 'Cm'16 'Cm'8 'Cm'16 'Cm'8 'Cm'8 'Cm'8 'Cm'8
  935.     ↓
  936.     _4 'Cm'8 ,8 ,16 ,8 ,16 ,8 ,8 ,8 ,8    ; ←再現表記を活用
  937.     ↓
  938.     _4 'Cm'8, ,16 ,8 ,16 ,8,,,            ; ←更に省略音長も活用
  939.     ↓
  940.     _4 'Cm'0 ,8,,16,8,16 ,8,,,            ; ←リズムパターンを分離
  941. ;
  942. ; 最後のリズムパターンの分離は“(3-7)領域を指定し繰返し演奏させる”で解説する
  943. ; マクロ記述で効果を発揮します。
  944. ;
  945. ;-----------------------------------------------------------------------------
  946. %*STOP        "(1-20) アルペジオの記述方法"
  947. ;-----------------------------------------------------------------------------
  948. ;
  949. ; ピアノの譜面によく見かける記号で、和音音符の左側に縦の波線が添えられたもの
  950. ; があります。これは、アルペジオ(分散和音)奏法の一種で、和音を同時に奏するの
  951. ; ではなく、多少ずらしながら奏でていく指定です。この奏法は、ギターの演奏では
  952. ; その楽器の特性上、自然に発生するパターンです。
  953. ; このパターンを記述するために、和音やコードの「発音遅延」指定があります。
  954. ; 和音やコードの音長にコロンを添え、その後にずらす音長を与える事で表現します。
  955. ;
  956.     \+++
  957.     _4 [ml<dm>]2:32 _4 [<dml>]2:32 _4 [l<rf>]2:32 _4 [s<rm>]2:32 _1
  958.  
  959.     'G'1:64 'E7'2:64 'G7/D':64 'C'1:32 ,1:32 ,1:8. _1
  960. ;
  961. ; なお、コロンに添える発音遅延の音長は、通常の省略音長と独立の省略が可能です。
  962. ; よって一度定義すれば、後はコロンだけの記述で同様の発音遅延が起ります。
  963. ;
  964.     'F7-9/D'4:32 ,: ,: ,: _1
  965. ;
  966. ; コードの発音遅延は、基本的に低音から高音に向けて発音が起ります。和音との
  967. ; 組合わせで表記してもアルペジオを実現することができ、音の追加が容易です。
  968. ;
  969.     'G7'1:16 _4
  970.      ↓
  971.     ['G7'c<rf>]1:16 _4
  972.      ↓
  973.     [>>c<r<'G7'c<rf>]1:16 _4
  974. ;
  975. ; 64分音符よりも短い発音遅延をしたい場合は、微分音長“i”を利用して下さい。
  976. ;   →“(4-4) 最小分解能と微分音長”を参照のこと。
  977. ;
  978. ;-----------------------------------------------------------------------------
  979. %*STOP        "(1-21) エコーをかける"
  980. ;-----------------------------------------------------------------------------
  981. ;
  982. ; “生の楽器演奏”の模倣として“電子音楽”をとらえる限り「本物」を越える事は
  983. ; できません。しかし、電子音楽だからこその演奏効果も存在します。
  984. ; エコーは、MIDI界ではディレイと呼ばれており、このような効果は電子音楽の得意
  985. ; とする所です。今までのMuse記法を組み合わせて、エコーを表現する例を以下に示
  986. ; します。
  987. ;
  988.     \=
  989.     v127 [(dms<d>)1]8 v-10, v-10, v-10, v-10, v-10, v-10,
  990.                       v-10, v-10, v-10, v-10, v-10, v-10, _1.
  991. ;
  992. ; 上記の例は、和音と連符を組合わせて利用し、発音をずらしながら相対強弱指定で
  993. ; 少しずつ小さな音にしていく事で、エコーを実現しています。再現表記を活用する
  994. ; 事で、見通しの良い記述になっていますが、“(3-8) 無名マクロによる繰返し記述”
  995. ; を活用することで、更に簡素に記述できます。
  996. ;
  997.     v127 [(dms<d>)1]8 {v-10,}12 _1.
  998. ;
  999. ;
  1000. ;
  1001. ;        ========================================♪
  1002. ;            [2]アンサンブル演奏
  1003. ;        ========================================
  1004. ;
  1005. ;-----------------------------------------------------------------------------
  1006. %*STOP        "(2-1) メンバーとフィンガーの概念"
  1007. ;-----------------------------------------------------------------------------
  1008. ;
  1009. ; まず、Museにおける演奏シチュエーションをご説明します。
  1010. ; 演奏者は16名おり、それぞれAさん、Bさん ‥‥‥ Oさん、および、Zさん
  1011. ; というニックネームで呼ばれます。これら演奏者を今後“メンバー”と呼ぶこと
  1012. ; にします。目の前に128種類の楽器が準備されており、それぞれのメンバーが
  1013. ; 自由な楽器で演奏できます。演奏中の楽器の持替えもできますし、同じ種類の楽
  1014. ; 器を複数のメンバーが持つこともできます。ただし、Zさんだけは生れながらの
  1015. ; ドラマーで、パーカッション以外は演奏できません。パーカッションは63種類
  1016. ; 準備されています。
  1017. ;
  1018. ; また、各メンバーに決った色が割当てられており、自動演奏の際にどのメンバーが
  1019. ; どの様に弾いているかを確認できます。自動演奏の際の配色を考慮してメンバーを
  1020. ; 選ぶのも一興です。メニューの「情報(I)」→「メンバ色一覧(M)」にて各メンバー
  1021. ; の色を確認してください。
  1022. ;
  1023. ; 次にAさん1人に着目してみます。彼は10本の指を持っており各指は、0~9
  1024. ; の数字が割当てられています。この指を今後“フィンガー”と呼びます。生身の
  1025. ; 人間は1本の指で1音を奏でるのが精一杯ですが、このMuseメンバーは皆、超絶
  1026. ; 技巧の持主で、1フィンガーで和音やコードを演奏することができます。
  1027. ; 実は前章“[1]ピアノ独奏”で紹介した演奏は、すべてAさんの1本の指で行
  1028. ; っていたのです。
  1029. ;
  1030. ; (注)Museは、いきなり音符を書始めると、初めてのフィンガー宣言“#”が
  1031. ;   来るまでの間は“#A0”であると解釈します。
  1032. ;
  1033. ; 音符を書く前に“#”に続けて、この“メンバー”と“フィンガー”を記述する
  1034. ; ことで、どの演奏者のどの指で弾くのかを指定します。演奏中は、メンバー毎に
  1035. ; 決められた演奏色で、ピアノの自動演奏が行われます。
  1036. ; では、Aさんの2本の指とKさんの1本の指で演奏してもらいましょう。
  1037. ;
  1038.     ★ドボルザーク「新世界より」第2楽章
  1039.     %60 \=
  1040.  
  1041.     #A1 o5 v120
  1042.         ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r2     ┃
  1043.         ┃m8.s16s4m8.r16d4   ┃r8.m16r8.d16d2     ┃
  1044.         ┃l8.<d16d4>c8sl4    ┃l8<d>csl2          ┃
  1045.         ┃l8.<d16d4>c8sl4    ┃l8<d>csl2          ┃
  1046.         ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r4r+   ┃
  1047.         ┃m8.s16s4<d8.r16m8m>┃<r8.d16r8>l<d2>    ┃
  1048.         ┃<r8.d16r8>l8<d2>   ┃<r4.d8r4>l<d2._4   ┃
  1049.  
  1050.     #A2 o4 v120
  1051.         ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r2     ┃
  1052.         ┃m8.s16s4m8.r16d4   ┃r8.m16r8.d16d2     ┃
  1053.         ┃f8.l16l4s8mf4      ┃f8lsmf2            ┃
  1054.         ┃f8.l16l4s8mf4      ┃f8lsmf2            ┃
  1055.         ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r4r+   ┃
  1056.         ┃d8.m16m4m8.f16s8s  ┃f8.f16f8fm2        ┃
  1057.         ┃f8.f16f8fm2        ┃f4.f8f4fm2._4      ┃
  1058.  
  1059.     #K1 o3 v120
  1060.         ┃'C'2'C'            ┃'G7'2'G7'          ┃
  1061.         ┃'C'2'C'            ┃'Dm7'4'G7''C'2     ┃
  1062.         ┃<'F'2:64'F':64     ┃'F':64'F':64       ┃
  1063.         ┃'F'2:64'F':64      ┃'F':64'F':64>      ┃
  1064.         ┃'C'2'C'            ┃'G7'2'G7'          ┃
  1065.         ┃'C'4'G''Am''C'     ┃'G7'2'C'           ┃
  1066.         ┃'G7'2'C'           ┃['G7'c]1:16'C'2._4 ┃
  1067.  
  1068. ;
  1069. ; このメンバーとフィンガーをセットにした“#”指定を、今後“フィンガー宣言”
  1070. ; と呼びます。すべての音はどれかのフィンガーに属しており、次のフィンガー宣言
  1071. ; が現れるまで同一のフィンガー音と解釈されます。また、フィンガー宣言はたとえ
  1072. ; 断続的に現れても、前回のそのフィンガーの音から継続して演奏されます。
  1073. ; したがって、上述の演奏は以下のようにスコア風に記述することもできます。
  1074. ; いわば、パート譜をスコアに書き換えたという所です。
  1075. ;
  1076.     ★ドボルザーク「新世界より」第2楽章(スコア風の記述方法)
  1077.     %60 \=
  1078.  
  1079.     #A1 o5 v120
  1080.     #A2 o4 v120
  1081.     #K1 o3 v120
  1082.  
  1083.     #A1 ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r2     ┃
  1084.     #A2 ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r2     ┃
  1085.     #K1 ┃'C'2'C'            ┃'G7'2'G7'          ┃
  1086.  
  1087.     #A1 ┃m8.s16s4m8.r16d4   ┃r8.m16r8.d16d2     ┃
  1088.     #A2 ┃m8.s16s4m8.r16d4   ┃r8.m16r8.d16d2     ┃
  1089.     #K1 ┃'C'2'C'            ┃'Dm7'4'G7''C'2     ┃
  1090.  
  1091.     #A1 ┃l8.<d16d4>c8sl4    ┃l8<d>csl2          ┃
  1092.     #A2 ┃f8.l16l4s8mf4      ┃f8lsmf2            ┃
  1093.     #K1 ┃<'F'2:64'F':64     ┃'F':64'F':64       ┃
  1094.  
  1095.     #A1 ┃l8.<d16d4>c8sl4    ┃l8<d>csl2          ┃
  1096.     #A2 ┃f8.l16l4s8mf4      ┃f8lsmf2            ┃
  1097.     #K1 ┃'F'2:64'F':64      ┃'F':64'F':64>      ┃
  1098.  
  1099.     #A1 ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r4r+   ┃
  1100.     #A2 ┃m8.s16s4m8.r16d4   ┃r8.m16s8.m16r4r+   ┃
  1101.     #K1 ┃'C'2'C'            ┃'G7'2'G7'          ┃
  1102.  
  1103.     #A1 ┃m8.s16s4<d8.r16m8m>┃<r8.d16r8>l<d2>    ┃
  1104.     #A2 ┃d8.m16m4m8.f16s8s  ┃f8.f16f8fm2        ┃
  1105.     #K1 ┃'C'4'G''Am''C'     ┃'G7'2'C'           ┃
  1106.  
  1107.     #A1 ┃<r8.d16r8>l8<d2>   ┃<r4.d8r4>l<d2._4   ┃
  1108.     #A2 ┃f8.f16f8fm2        ┃f4.f8f4fm2._4      ┃
  1109.     #K1 ┃'G7'2'C'           ┃['G7'c]1:16'C'2._4 ┃
  1110. ;
  1111. ;-----------------------------------------------------------------------------
  1112. %*STOP        "(2-2) パーカッションの演奏方法"
  1113. ;-----------------------------------------------------------------------------
  1114. ;
  1115. ; パーカッションは、ドラムメンバーZさんの0~9の10本のフィンガーにかかって
  1116. ; います。他のメンバーはパーカッションを叩くことはできません。逆にドラムメ
  1117. ; ンバーZさんは、パーカッション専任です。
  1118. ;
  1119. ;   (注)実は、ドラムメンバーはもう一人増強する事ができます。
  1120. ;     詳細は“(3-5) ドラムメンバーを増やす”を参照して下さい。
  1121. ;
  1122. ; ドラムの種類は63種あります。ドラムメンバーにおいては、これらのドラムが
  1123. ; o1d+ ~ o6r+ の音程に対応しています。よって、ドラムメンバーにも音階や音長が
  1124. ; 存在する訳であり、和音記述や連符記述なども可能です。
  1125. ;
  1126.     %80
  1127.     #Z0 v127 o1
  1128.     d+2
  1129.     r4 r+ m8 f f+4 s8 s+ l l+ _16 c < d8 d+4
  1130.     r4 r+ m8 f f+4 s8 s+ l l+ _16 c < d8 d+4
  1131.     r4 r+ m8 f f+4 s8 s+ l l+ _16 c < d8 d+4
  1132.     r4 r+ m8 f f+4 s8 s+ l l+ _16 c < d8 d+4
  1133.     r4 r+ m8 f f+4 s8 s+ l l+ _16 c < d8 d+4
  1134.     r8 r+8 _4
  1135. ;
  1136. ;
  1137. ; 各音程に対して、どの様なドラムが割当てられているかは、
  1138. ; 「機能(G)」→「ドラムの試聴(Z)」のメニューで実際に試聴してみて下さい。
  1139. ;
  1140. ; (注)「ドラムの試聴」ダイアログでは、発音した音程の文字列をクリップボードに
  1141. ;   セットします。データ作成中にこの機能を使うと、試聴したドラム音を簡便に
  1142. ;   入力できます。
  1143. ;
  1144. ; MIDI音源がGS系かXG系かで、ドラム音色配列が多少違います。
  1145. ; 「ドラムの試聴」ダイアログにおいて、o1列とo6列の音色が、ボタン記述と違う
  1146. ; 場合は「音源の選択」ダイアログで音源タイプ(GS⇔XG)を切替えて下さい。
  1147. ;
  1148. ; ドラムメンバーは、他のメンバーとは異なる特性を持っているため、指定しても
  1149. ; 無効になる属性や、そもそも指定不可能な属性があります。
  1150. ;
  1151. ;    ・調性指定      \   ‥‥‥ 無効 → (1- 4)参照のこと
  1152. ;    ・音部記号      ?   ‥‥‥ 不可 → (1-15)参照のこと
  1153. ;    ・コード記述   ' '  ‥‥‥ 不可 → (1-17)参照のこと
  1154. ;    ・移調指定      T   ‥‥‥ 無効 → (2- 8)参照のこと
  1155. ;
  1156. ;-----------------------------------------------------------------------------
  1157. ;        "(2-3) フィンガー単位に指定する値(演奏例はありません)"
  1158. ;-----------------------------------------------------------------------------
  1159. ;
  1160. ; この節でご紹介することは、既に“[1]ピアノ独奏”で出てきた機能ばかりです
  1161. ; が、フィンガーという概念を得たので再度確認します。
  1162. ; 以下の6つの属性は、各フィンガー毎に独立して存在しています。
  1163. ;
  1164. ;    ・音名タイプ x
  1165. ;    ・オクターブ o あるいは < >
  1166. ;    ・音の強弱  v
  1167. ;    ・音部記号  ?
  1168. ;     ・再現表記    , あるいは ()
  1169. ;     ・省略音長
  1170. ;
  1171. ; したがって、これらの記述はフィンガー宣言“#”の配下にあります。
  1172. ; 16メンバー × 10フィンガー すなわち 160 の個別指定ができるわけです。
  1173. ; 他のフィンガーで異なる値を指定をしても、各フィンガーで独立に値を保持する
  1174. ; ため、何度も指定し直す必要はありません。
  1175. ;
  1176. ;-----------------------------------------------------------------------------
  1177. %*STOP        "(2-4) メンバー単位に指定する値"
  1178. ;-----------------------------------------------------------------------------
  1179. ;
  1180. ; この節以降、(2-5)~(2-11)でご紹介するのは、すべて新しい記述ばかりです。
  1181. ; それは、メンバー単位に指定する値です。したがって、各フィンガー毎に異なる値
  1182. ; を指定することは出来ません。1メンバー内のフィンガーですべて同値になります。
  1183. ; これらの指定文字は、すべて大文字なのが特徴です。
  1184. ;
  1185. ;    P 音色
  1186. ;    V 音量
  1187. ;    S ステレオ
  1188. ;    T 移調  ……(注)ドラムメンバーは、移調属性(T)が無視されます。
  1189. ;    R 残響      →“(2-2) パーカッションの演奏方法”を参照のこと。
  1190. ;    W 揺らぎ
  1191. ;    Q コーラス
  1192. ;    U ピッチ
  1193. ;    Y ペダル
  1194. ;
  1195. ; さて各属性値の詳細は以下の節に譲るとして、ここではこれらの値を各メンバーに
  1196. ; 指定する方法をご紹介しましょう。それには“@”に添えるメンバー記号(A~O,Z)
  1197. ; で、まずメンバーを宣言した後、上記の値を記述していきます。
  1198. ; すなわち、以下のような形式で指定します。
  1199. ;
  1200. ;    @E P23
  1201. ;
  1202. ; この例は、Eメンバーの音色(P)を23番(ハーモニカ)に指定した場合です。
  1203. ; この“@E”の部分と“P23”の部分は、離れていても構いません。
  1204. ; 以降、“@E”の部分を「メンバー宣言」、“P23”の部分を「メンバー属性」と呼び
  1205. ; ます。メンバー属性が記述された際、その属性値が反映されるのは、あくまでも、
  1206. ; 前もってメンバー宣言で指定しておいたメンバーが対象になります。
  1207. ; なお、メンバー宣言もメンバー属性も、曲の途中で何度でも指定し直せます。
  1208. ;
  1209. ; メンバー宣言は、複数のメンバー(A~O,Z)を一気に指定できるのが特徴です。
  1210. ; 例えば、A・B・Cさんを、同じ楽器、音量、移調にしたければ、以下のように
  1211. ; 1行で指定できます。
  1212. ;
  1213.  
  1214.     ★ドビュッシー「亜麻色の髪の乙女」
  1215.     %66 \=
  1216.  
  1217.     @ABC P101 V120 T0  ; ←ここで一気に指定(PVSTRWQUYの記述順は自由)
  1218.  
  1219.     #A0 ?0 o4 v120
  1220.     #B0 ?6 o4 v120
  1221.     #C0 ?0 o4 v120
  1222.  
  1223.     #A0┃<s4^8m16d>l8<d16m┃s8m16d>l8<d16md8d16>l┃<d8>c16ls2^ ┃2l8<d┃
  1224.        ┃r4.s8md16m┃r8sm4l4^1┃
  1225.     #B0┃_2.┃_4 _ _8 <r> ┃l2.^   ┃2 <_4┃m2f4      ┃m4d4[d>f<]4^1 ┃
  1226.     #C0┃_2.┃_4 _ _8 'F'8┃'C'2.^2┃_4   ┃'G'2' Am'4┃'G''Em''Am'4^1┃
  1227. ;
  1228. ; また“@”に添えるメンバーは省略可能であり、省略するとその時点のフィンガーが
  1229. ; 属するメンバーを指定したことになります。
  1230. ;
  1231. ;    #A0 d r m @  P23 f s l
  1232. ;              ↓
  1233. ;    #A0 d r m @A P23 f s l ;←Aメンバーが省略されていると解釈される。
  1234. ;
  1235. ; メンバー属性を音符の間に挟み込むことで、その属性値を反映させるタイミングを、
  1236. ; 指定することができます。
  1237. ; 挟み込む例を以下に示します。3つの例とも、同じ演奏をします。
  1238. ;
  1239. ;  @A #A0   d m s  V80 d r m  V90 d f l  V120 d(@メンバーを明示する場合)
  1240. ;     #A0 @ d m s  V80 d r m  V90 d f l  V120 d(@メンバーを省略する場合)
  1241. ;     #A0   d m s @V80 d r m @V90 d f l @V120 d(逐一@を添える場合)
  1242. ;
  1243. ; なおメンバー属性が反映されるメンバーは、それが挟み込まれるフィンガーには
  1244. ; 直接関係はなく、単にタイミングを指定するという意味があるだけです。
  1245. ; 以下の例は、#A0フィンガーで音量指定されていますが、それが反映するメンバーは、
  1246. ; Aメンバーではなく、直前のメンバー宣言によるBCDの3メンバーとなります。
  1247. ;
  1248. ;    @BCD
  1249. ;    #A0   d m s  V80 d r m  V90 d f l  V120 d
  1250. ;
  1251. ;-----------------------------------------------------------------------------
  1252. %*STOP        "(2-5) 音色の指定"
  1253. ;-----------------------------------------------------------------------------
  1254. ;
  1255. ; “@”によるメンバー宣言の後に“P”に添える1~128の数字で音色を指定します。
  1256. ; 各数字と実際の音色の関係は「機能(G)」→「楽器の試聴(P)」の機能で試聴確認
  1257. ; して下さい。
  1258. ;
  1259. ; (注)「楽器の試聴」ダイアログでは、ボタン押下で発音した音色やエフェクト指定
  1260. ;   の文字列をクリップボードにセットします。
  1261. ;   データ作成中にこの機能を使うと、試聴した音色や効果を簡便に入力できます。
  1262. ;
  1263. ; 以下に同じメンバーが次々と音色を変化させる(楽器を持替える)例を示します。
  1264. ;
  1265.     ★ピクニック(イギリス民謡)
  1266.     %112 \+
  1267.  
  1268.     @I P025                       ;スチールギター
  1269.     #I0 r8s4l8c4s m8s4m8r4._8
  1270.  
  1271.     @I P079                       ;口笛
  1272.     #I0 >c8<r4m8s4f8s <r2>c
  1273.  
  1274.     @I P042                       ;ビオラ
  1275.     #I0 r8s4l8c4s m8s4m8r2
  1276.  
  1277.     @I P106                       ;バンジョー
  1278.     #I0 <r8>c4<r8d>l4c8 s2^8 _2
  1279.  
  1280.  
  1281.     #Z0 v80 [o2l]0                ;大太鼓
  1282.     ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 _2^8 v127
  1283.  
  1284.     #Z1 v80 [o2r]0                ;小太鼓
  1285.     ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8 ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8
  1286.     ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8 ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8
  1287.     ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8 ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8
  1288.     ,8 ,4 ,8 ,8 ,16 ,16 ,8 ,8 ,8 ,4 ,8 ,8 _2
  1289. ;
  1290. ; 上記例におけるZメンバーは、ゼロ音長の和音と再現表記を組合わせて、リズム
  1291. ; 記述の見通しを良くしています。→“(1-19) 再現表記の活用”を参照のこと。
  1292. ;
  1293. ; ドラムメンバーに対する音色“P”の属性は、ドラムセットの選択を意味します。
  1294. ; どの様なドラムセットがあるかは“【第3章】Muse文法リファレンス”を
  1295. ; 参照して下さい。以下は、次々とドラムセットを変更する例です。
  1296. ;
  1297.     %80
  1298.     @Z P1  #Z0 o2 d8rmfslc<dr_4  ; スタンダード
  1299.     @Z P2  #Z0 o2 d8rmfslc<dr_4  ; バリエーション
  1300.     @Z P9  #Z0 o2 d8rmfslc<dr_4  ; ルーム
  1301.     @Z P17 #Z0 o2 d8rmfslc<dr_4  ; ロック
  1302.     @Z P25 #Z0 o2 d8rmfslc<dr_4  ; エレクトロニック
  1303.     @Z P26 #Z0 o2 d8rmfslc<dr_4  ; アナログ
  1304.     @Z P33 #Z0 o2 d8rmfslc<dr_4  ; ジャズ
  1305.     @Z P41 #Z0 o2 d8rmfslc<dr_4  ; ブラシ
  1306.     @Z P49 #Z0 o2 d8rmfslc<dr_4  ; クラシック
  1307. ;
  1308. ; ドラムセットによる音色の変化がどの様なものなのかは、
  1309. ; 「機能(G)」→「ドラムの試聴(Z)」のメニューで実際に試聴してみて下さい。
  1310. ;
  1311. ; ドラムセットによる音色変化は、GSとXGで微妙に異なります。
  1312. ; 「ドラムの試聴」において、標準と異なる音色には、ボタンに黒丸●が付きます。
  1313. ; この●の付き方は「音源の選択」で指定した音源タイプ(GS⇔XG)で異なります。
  1314. ; 互換性の高いデータを作成したい場合は、極力、標準セット P1 を使用して下さい。
  1315. ;
  1316. ;-----------------------------------------------------------------------------
  1317. %*STOP        "(2-6) クレッシェンドとデクレッシェンド"
  1318. ;-----------------------------------------------------------------------------
  1319. ;
  1320. ; “@”によるメンバー宣言の後に“V”に添える0~127の数字で音量を指定します。
  1321. ; 音量は127が最大で、0で無音状態となります。
  1322. ; フィンガー単位に指定する音の強さ“v”と同様の効果を出しますが、“V”はメン
  1323. ; バー単位に指定する音の強さです。例えて言えば、小文字“v”はそれぞれの指の
  1324. ; 強さ、大文字“V”はそれぞれの演奏メンバーのパワーとでも申しましょうか。
  1325. ; 以下で“v”と“V”の実験をしてみます。片方の値を一定にして、もう片方の値
  1326. ; を次第に変化していく実験です。曲の前半①では旋律と伴奏が共にクレッシェンド
  1327. ; していきます。後半②は旋律がデクレッシェンドしていきますが、伴奏は最後まで
  1328. ; 音量が変わりません。
  1329. ;
  1330.     ★ベートーベン 交響曲第9番より“喜びの歌”
  1331.     %104 \+
  1332.     @G P055
  1333.  
  1334.     ;①“v”を一定にして“V”を大きくしていく(全フィンガーに効く)
  1335.  
  1336.     #G0 v127
  1337.         V25 c4c V30 <dr V40 rd V60 >cl V80 ss V100 lc V127 c4.l8 l4_4
  1338.  
  1339.     #G1 v127 'G'1 'D' 'G' 'D'
  1340.  
  1341.     ;②“V”を一定にして“v”を小さくしていく(1つのフィンガーにだけ効く)
  1342.  
  1343.     #G0 V127
  1344.         v127 c4c <dr v100 rd v80 >cl v60 ss v40 lc v30 l4.s8 s4
  1345.  
  1346.     #G1 v127 'G'1 'D' 'G' 'D'2 'G'2 _1
  1347. ;
  1348. ; 最終的な音量は v と V の積で決ります。
  1349. ; したがって、どちらか一方がゼロならば無音状態となります。
  1350. ;
  1351. ; “v”指定は各音の発音時点の音量を示しますが、“V”指定は発音している最中
  1352. ; でも変えることができます。この特徴を引出す方法として「遅延効果」指定があり
  1353. ; ます。これはVの音量値の後にコロンを添え、そこに音長を与えることで表現します。
  1354. ; この指定は“与えられた音長分の時間をかけて指定の音量に到達せよ”という指定
  1355. ; です。この指定で、なめらかなクレッシェンド・デクレッシェンドが可能です。
  1356. ; “V”指定が1つのメンバーの全フィンガーに効果する性質を利用して、音量を司る
  1357. ; フィンガーを専門に立ち上げると、綺麗にコーディングできます。
  1358. ;
  1359. ; ただし、あくまでもメンバー宣言“@”とペアになっていることに留意して下さい。
  1360. ; 以下の例は、Lメンバーの音量全体を#L0フィンガーで調整しています。
  1361. ;
  1362.     ★グルーバー「きよしこの夜」(賛美歌)
  1363.     %%50 @L P071 V20          ;←%を重ねている理由は(4-1)を参照のこと
  1364.  
  1365.     #L0 V127:4. _4. V20:4. _4.   ; ←音量調整用のフィンガー
  1366.     #L1 v127 o4 s8.l16s8 m4.
  1367.     #L2 v127 o3 'C'2.
  1368.  
  1369.     #L0 V127:4. _4. V20:4. _4.
  1370.     #L1 s8.l16s8 m4.
  1371.     #L2 'C'2.
  1372.  
  1373.     #L0 V127:4. _4. V20:4. _4.
  1374.     #L1 <r4r8> c4.
  1375.     #L2 'G7'2.
  1376.  
  1377.     #L0 V127:4. _4. V20:4. _4.
  1378.     #L1 <d4d8> s4.
  1379.     #L2 'C'2.
  1380. ;
  1381. ; 音量指定の一つの指針として、譜面上のピアノ(p)・フォルテ(f)を v で行い、
  1382. ; クレッシェンド・デクレッシェンドを V で行うと混乱無く記述できます。
  1383. ; ただし、ピアノやギター、マリンバなどの楽器に“V”の遅延効果を使用して
  1384. ; クレッシェンドをかけると、発音後に音が大きくなるといった不自然な演奏も
  1385. ; 記述できてしまうので、ご注意下さい。
  1386. ;
  1387. ;-----------------------------------------------------------------------------
  1388. %*STOP        "(2-7) ステレオ効果の利用"
  1389. ;-----------------------------------------------------------------------------
  1390. ;
  1391. ; “@”によるメンバー宣言の後に“S”に添える-64~+64の数値でステレオ効果を
  1392. ; 指定します。-64で左側のみ、+64で右側のみ、0で中央から鳴ります。
  1393. ; この効果を利用すれば、左側から伴奏とパーカッションが鳴り、右側から旋律が
  1394. ; 聞えるといった広がりのある演奏を記述することができます。
  1395. ; 以下の例は、左から右に音が移動する記述してみました。
  1396. ; S指定が音符の合間に入り込んでいますが、先に2行目で宣言してある @A により、
  1397. ; このステレオ効果は、Aメンバーに作用する事になります。
  1398. ;
  1399.     %80 \=
  1400.     @A P018 V127  ←以降のS指定は、この@AによりAメンバーに作用する
  1401.     #A0 v127 o2
  1402.  
  1403.     _32
  1404.     S-64m  S-62f  S-60f+ S-58s  S-56s+ S-54l  S-52l+ S-50c  S-48<d S-46d+
  1405.     S-44r  S-42r+ S-40m  S-38f  S-36f+ S-34s  S-32s+ S-30l  S-28l+ S-26c
  1406.     S-24<d S-22d+ S-20r  S-18r+ S-16m  S-14f  S-12f+ S-10s  S-8s+  S-6l
  1407.     S-4l+  S-2c   S0<d   S+2d+  S+4r   S+6r+  S+8m   S+10f  S+12f+ S+14s
  1408.     S+16s+ S+18l  S+20l+ S+22c  S+24<d S+26d+ S+28r  S+30r+ S+32m  S+34f
  1409.     S+36f+ S+38s  S+40s+ S+42l  S+44l+ S+46c  S+48<d S+50d+ S+52r  S+54r+
  1410.     S+56m  S+58f  S+60f+ S+62s  S+64s+
  1411.  
  1412.     S+64s+ S+62s  S+60f+ S+58f  S+56m  S+54r+ S+52r   S+50d+ S+48d> S+46c
  1413.     S+44l+ S+42l  S+40s+ S+38s  S+36f+ S+34f  S+32m   S+30r+ S+28r  S+26d+
  1414.     S+24d> S+22c  S+20l+ S+18l  S+16s+ S+14s  S+12f+  S+10f  S+8m   S+6r+
  1415.     S+4r   S+2d+  S0d>   S-2c   S-4l+  S-6l   S-8s+   S-10s  S-12f+ S-14f
  1416.     S-16m  S-18r+ S-20r  S-22d+ S-24d> S-26c  S-28l+  S-30l  S-32s+ S-34s
  1417.     S-36f+ S-38f  S-40m  S-42r+ S-44r  S-46d+  S-48d> S-50c  S-52l+ S-54l
  1418.     S-56s+ S-58s  S-60f+ S-62f  S-64m
  1419.     _2
  1420. ;
  1421. ; “S”指定は発音している最中でも変えることができます。この特徴を引出す方法と
  1422. ; して「遅延効果」指定があります。これはSのステレオ値の後にコロンを添え、そこ
  1423. ; に音長を与えることで表現します。この指定は“与えられた音長分の時間をかけて
  1424. ; 指定のステレオ位置に到達せよ”という指定です。
  1425. ; この指定で、なめらかな音の左右移動が可能となります。
  1426. ;
  1427. ; ただし、あくまでもメンバー宣言“@”とペアになっていることに留意して下さい。
  1428. ; 以下の例は、まず左から右に波が押寄せ、次に右から左にヘリコプターが飛ぶ情景
  1429. ; を記述したものです。
  1430. ;
  1431.     %%60 #L0 v127          ;←%を重ねている理由は(4-1)を参照のこと
  1432.  
  1433.     @L V127 S-64           ;←まずは左位置
  1434.     P123 S+64:1 d1^4       ;←波の音が右側へ向って移動
  1435.     P126 S-64:1 d1^4       ;←ヘリコプターが左に向って移動
  1436. ;
  1437. ; (注)ドラムメンバーは初期状態で、各ドラムにステレオ値が与えられています。
  1438. ;   “S”指定はそれらの位置を基準にして、左右にシフトさせます。
  1439. ;   従って、何も指定しなくてもそれなりの空間配置になっています。
  1440. ;
  1441. ;-----------------------------------------------------------------------------
  1442. %*STOP        "(2-8) 移調の仕方"
  1443. ;-----------------------------------------------------------------------------
  1444. ;
  1445. ; “@”によるメンバー宣言の後に“T”に添える-95~+95の数値でキーの変更がで
  1446. ; きます。マイナスで半音単位に低音側へ、プラスで半音単位に高音側へシフトし
  1447. ; ます。この機能は、コード記述も含めて指定のメンバ全体に効き目があります。
  1448. ; 12の倍数を指定すればオクターブのシフトとしても利用できます。
  1449. ; この移調指定は、特に移調楽器の譜面を入力する際に効果を発揮します。
  1450. ; 移調楽器に関する移調量の指定値は“【第3章】Muse文法リファレンス”を
  1451. ; 参照して下さい。
  1452. ;
  1453.     ★フォーレ「シチリアーノ」
  1454.     %80 \=
  1455.     @HMO V127 S0 T0
  1456.     @H P001
  1457.     @M P074
  1458.     @O P072
  1459.  
  1460.     #H0 v127 o5
  1461.     _2^8m8┃l4<d8m4l8 ┃<d8.>c16l8c4m8┃m8.r16f+8m8.r16f+8 ┃m4.^4>m8 ┃
  1462.           ┃l4<d8m4s8 ┃c-8.l16s8l4>l8┃l8.s+16c8l8.s+16<d8┃>l4.^4_8∥
  1463.  
  1464.     #M0 v100 o6 ?6
  1465.     _2^4  ┃f8l<d>fl<d>┃r+fldm+s   ┃>l<mf>l<mf     ┃dm+sd4. ┃
  1466.           ┃f8l<d>fl<d>┃rs-cdfl    ┃>c<flds+c      ┃fd>lf4. ∥
  1467.  
  1468.     #O0 v100 o4
  1469.     _2^4 'Am' 'F#m7-5' 'D7' 'E' 'Am7' 'Bb'4. 'A' 'Dm7''E' 'Am'2.
  1470.  
  1471.     @HMO T+3 ; ←●ここで半音3つ分、高音側へ移調
  1472.  
  1473.     #H0 v127 o5
  1474.     _2^8m8┃l4<d8m4l8 ┃<d8.>c16l8c4m8┃m8.r16f+8m8.r16f+8 ┃m4.^4>m8 ┃
  1475.           ┃l4<d8m4s8 ┃c-8.l16s8l4>l8┃l8.s+16c8l8.s+16<d8┃>l4.^4_8∥
  1476.  
  1477.     #M0 v100 o6 ?6
  1478.     _2^4  ┃f8l<d>fl<d>┃r+fldm+s   ┃>l<mf>l<mf     ┃dm+sd4. ┃
  1479.           ┃f8l<d>fl<d>┃rs-cdfl    ┃>c<flds+c      ┃fd>lf4. ∥
  1480.  
  1481.     #O0 v100 o4
  1482.     _2^4 'Am' 'F#m7-5' 'D7' 'E' 'Am7' 'Bb'4. 'A' 'Dm7''E' 'Am'2.
  1483.  
  1484. ;
  1485. ; なお、この移調指定はドラムメンバーに対しては無効です。
  1486. ;
  1487. ;-----------------------------------------------------------------------------
  1488. %*STOP        "(2-9) 楽器の音色をアレンジする"
  1489. ;-----------------------------------------------------------------------------
  1490. ;
  1491. ; Museでは“P”指定により128の楽器から音色を選べますが、それぞれの音色に
  1492. ; 対して更に微妙な味付けを行うことができます。この味付けをミディ界ではエフェ
  1493. ; クトと称しています。Museのエフェクトは以下の3種類があります。
  1494. ;
  1495. ;  ・残響 R
  1496. ;    特に音を止めた時、後に残る余韻の強さです。
  1497. ;    音はそれが鳴り続けている間でも、常に残音を発生していますから、
  1498. ;    音の累積が起こり、音量が上がる効果もあります。
  1499. ;    ミディ用語ではリバーブと呼ばれています。
  1500. ;
  1501. ;  ・揺らぎ W
  1502. ;    一般に言われるビブラートです。
  1503. ;    特に通奏系の楽器で効果が顕著です。
  1504. ;    ミディ用語ではモジュレーションと呼ばれています。
  1505. ;
  1506. ;  ・コーラス Q
  1507. ;    同じ楽器でも大人数で演奏すると、それぞれの微妙な音色の違いや奏法の
  1508. ;    ズレで全体の音に深みや厚みがでます。この指定は、いわばその人数に比例
  1509. ;    する値と考えて下さい。0でソロの音色、127で大合奏という訳です。
  1510. ;    当然のことながら、奏者が多いほど音量も増加します。
  1511. ;
  1512. ; 以上の3つの指定は、すべて 0~127 の値を添えてその量を記述します。
  1513. ; これらのエフェクト指定は、ドラムメンバーにも効果があります。
  1514. ; 各数字と実際のエフェクトの関係は、メニューの「機能(G)」→「楽器の試聴(P)」
  1515. ; や「ドラムの試聴(Z)」で、実音にて確認して下さい。
  1516. ;
  1517.     ★一日の終り(フランス古典)
  1518.     %80 \= @M P66 T0
  1519.     #M0 o4 ?0
  1520.  
  1521.     @M R0 W0 Q0                          ;←まずはエフェクト無し
  1522.     #M0 s4.f8ms<dr m2d r8d>c<rd4>l s2._4
  1523.  
  1524.     @M R127 W127 Q127                    ;←次にエフェクトを付けてみる
  1525.     #M0 s4.f8ms<dm r2>l c4.l8sc<dr d2._4
  1526. ;
  1527. ; この節で紹介した3つの指定は、すべて「遅延効果」を与えることができます。
  1528. ; 指定方法は、音量(V)やステレオ(S)と同様に、コロンの後に遅延音長を添えます。
  1529. ; 通奏系の音に対し、次第にビブラートを強くしていったり、次第に演奏参加人員を
  1530. ; 増やしていくといった効果を表現できます。
  1531. ;
  1532.     %%100                         ;←%を重ねている理由は(4-1)を参照のこと
  1533.     @N P72 R0 W0 Q0
  1534.     #N0 o4 d2& W127:1^2 d1^2 _4   ;←後半で次第に揺らぎを高めていく。
  1535.  
  1536.     %%40                          ;←%を重ねている理由は(4-1)を参照のこと
  1537.     @K P53 R0 W0 Q0
  1538.     #K0 o4 Q127:1^2 d1^2 _4       ;←次第に参加人員を増やす。
  1539. ;
  1540. ;-----------------------------------------------------------------------------
  1541. %*STOP        "(2-10) なめらかなグリッサンド"
  1542. ;-----------------------------------------------------------------------------
  1543. ;
  1544. ; トロンボーンやバイオリンは、その楽器特性から半音よりも細かい音程の音を演奏
  1545. ; することができます。Museでは、メンバー属性として“ピッチ”指定が可能であり、
  1546. ; 半音の1/10精度の微分音を指定することができます。
  1547. ; “@”によるメンバー宣言の後に“U”に添える-240~+240の数値でピッチを指定し
  1548. ; ます。指定数値の10が半音分の音程を意味するので、±240によって、上下
  1549. ; 2オクターブ、合計4オクターブ分のピッチシフトが可能です。
  1550. ;
  1551. ;    @A U+120    ←Aメンバーのピッチを1オクターブ上げる指定
  1552. ;
  1553. ; 他のメンバー属性と同様、指定したピッチは次の指定があるまで効果を維持します。
  1554. ; 標準のピッチに戻す場合は、数値0を指定して下さい。
  1555. ;
  1556. ;    @A U0       ←標準のピッチに戻す指定
  1557. ;
  1558. ; 更に“U”指定も“V”や“S”と同様に「遅延効果」指定を行うことができます。
  1559. ; これはUのピッチ量にコロンを添え、そこに音長を与えることで表現します。
  1560. ; この指定は“与えられた音長分の時間をかけて指定のピッチに到達せよ”という
  1561. ; 指定ですから、なめらかなピッチ変化、すなわちグリッサンドを演奏することが
  1562. ; できます。エレキギターのチョーキングや管楽器のしゃくり上げなどにも活用でき、
  1563. ; 音楽表現が多彩になります。
  1564. ;
  1565. ;    @A U-120:4  ←4分音符分の時間をかけて1オクターブ下げる指定
  1566. ;
  1567. ; 以下は、なめらかなグリッサンドを演奏する例です。
  1568. ;
  1569.     ★森のくまさん(アメリカ童話)
  1570.     %80 @G P58 \=
  1571.     #G1 _8sf+s m4& @U-120:4 m4 _8 @U0 mr+md4 & @U+120:4 d4 _8 @U0
  1572. ;                      ~~~~~~~~       ~~~          ~~~~~~~~       ~~~
  1573. ;                         ↑          ↑              ↑           ↑
  1574. ;                     ピッチ下降   標準に戻す     ピッチ上昇    標準に戻す
  1575. ;
  1576. ; ここで紹介したピッチ指定は、ドラムメンバーにも適用が可能であり、ドラムの
  1577. ; 表情を変化させる事ができます。メニューの「機能(G)」→「ドラムの試聴(Z)」で、
  1578. ; 実音にて確認して下さい。
  1579. ;
  1580. ;-----------------------------------------------------------------------------
  1581. %*STOP        "(2-11) ダンパーペダルの操作"
  1582. ;-----------------------------------------------------------------------------
  1583. ;
  1584. ; ピアノに付いているダンパーペダルの操作は、“@”によるメンバー宣言の後に
  1585. ; “Y0”あるいは“Y1”で指定します。
  1586. ; Y0 はペダルを離す指定、Y1 はペダルを踏む指定です。ペダルが踏まれている間、
  1587. ; 音の減衰が抑制され、伸びやかに響きます。
  1588. ; Y1が連続して指定された場合、一度素早くペダルを離し、速やかに踏み直します。
  1589. ; したがって踏みかえの場合は、Y0Y1と記述する必要はありません。
  1590. ;
  1591. ; 以下は、ダンパーペダルを使用しない場合(離しっぱなし)と、ダンパーペダル操作
  1592. ; をする場合の比較例です。特に低音部の響きを聴き比べて下さい。
  1593. ;
  1594.     ★ベートーベン「月光ソナタ」
  1595.     @A P1 V127 Q0 R0 W0 S0 ←以降のY指定は@AによりAメンバーに作用する
  1596.     %60 \++++
  1597.  
  1598.     ; ペダルを使用しない場合
  1599.     #A1 o4 ?6 v127 [>l4<l]1 [>s4<s] [>f4<f]2[>r4<r] [>m<m], _2
  1600.     #A2 o4 v80 (>s<dm)4()()() ()()()() (>l<dm)()(>l<r=f)()
  1601.                (>sc+<f)(>s<dm)(>s<dr+)(>fc+<r+) _2
  1602.  
  1603.     ; ペダルを操作した場合
  1604.     #A1 o4 ?6 v127 [>l4<l]1 [>s4<s] [>f4<f]2[>r4<r] [>m<m], _2
  1605.     #A2 o4 @ v80 Y1 (>s<dm)4()()()  Y1 ()()()() Y1 (>l<dm)() Y1 (>l<r=f)()
  1606.              Y1 (>sc+<f)(>s<dm) Y1 (>s<dr+) Y1 (>fc+<r+) _2 Y0
  1607. ;                 ↑                 ↑          ↑
  1608. ;             これらの位置にダンパーペダルの操作を挿入した。
  1609. ;
  1610. ; なお“Y”指定は音の減衰を抑制する指定として、ドラムも含め、ピアノ以外の楽器
  1611. ; にも活用が可能です。
  1612. ;
  1613. ;-----------------------------------------------------------------------------
  1614. %*STOP        "(2-12) 全体に影響を及す値"
  1615. ;-----------------------------------------------------------------------------
  1616. ;
  1617. ; 今まで、メンバー単位の設定値“@PVSTRWQUY”フィンガー単位の設定値“?xvo<>”
  1618. ; を紹介しましたが、この節では全メンバー・フィンガーに一気に影響を与える設定
  1619. ; 値について紹介します。それは既に紹介したテンポ“%”と調性“\”の2つです。
  1620. ; これらの設定を切替えると、それ以降に記述するすべてのメンバー・フィンガーは
  1621. ; それに従うことになります。以下に転調の例を示します。
  1622. ;
  1623.     ★ガーシュイン「ラプソディー・イン・ブルー」
  1624.     %80
  1625.     @DF P001 V127 S0 T0
  1626.  
  1627.     \-- ; ←●初めは変ロ調
  1628.  
  1629.     #D0 ?0 o5 v127
  1630.     (mfs)4┃l-2(s-f-s-)4(f-s-f-)4┃m8r-dd-^r-8r=m^┃d=8>l-s-^f-8m4┃
  1631.  
  1632.     #F0 ?6 o5 v127
  1633.     (drm)4┃[f-2]4[<d>l]4[l+4d=2]4s=┃[f-l=]4.[f-l-]8^2┃[f-l=]1∥
  1634.  
  1635.     \+++++ ; ←●ここで嬰ロ調に転調
  1636.  
  1637.     #D0 o5 v100
  1638.     _16slsc8c_16slsc<d>cl┃_slsc8cc2┃_16drdm8m_16drdmfmr┃_drdm8mm2┃
  1639.  
  1640.     #F0 ?6 o5 v80
  1641.     [m<d>]4[l<d+>][m<r>][l<d>]┃[m<d=>][c<r>][<d+>l]8[cs][lf][ms]┃
  1642.     [f=>l<]4[f+r][s>l<][f+r]┃[f=>l<]┃[sm][f+r]8[md][r>c<][d>l<]┃
  1643. ;
  1644. ;-----------------------------------------------------------------------------
  1645. %*STOP        "(2-13) リタルダンドとアッチェレランド"
  1646. ;-----------------------------------------------------------------------------
  1647. ;
  1648. ; テンポを滑らかに連続変化させるには、テンポ指定“%”における「遅延効果」を
  1649. ; 利用します。遅延効果は、%のテンポ値にコロンを添え、そこに音長を与える事で
  1650. ; 表現します。これは“与えられた音長分の時間をかけて指定のテンポに到達せよ”
  1651. ; という指定です。これを使うと、リタルダンドやアッチェレランドなどのテンポ
  1652. ; 変化が可能となります。
  1653. ;
  1654.     ★バッハ「小フーガ ト短調」
  1655.     \--
  1656.     @FG P020 S0 T0 V120
  1657.  
  1658.     %72            ←●初めはアンダンテ
  1659.  
  1660.     #F0 v120 o4 ?0 s4<r>c4.l8┃sclsf+lr4┃
  1661.     #G0 v120 o4 ?0 _1┃_1┃
  1662.  
  1663.     %132:1^1^1^1       ←●4小節かけてアレグロにアッチェレランド
  1664.  
  1665.     #F0 s8rlrcl16sl8r┃s8r16sl8r16lc8l16slr<rd>┃
  1666.     #G0 _1┃_1┃
  1667.     #F0 clsclsf+lsrslc<drm=┃f=m=rf=m=rd+m=r8>l<rm=┃
  1668.     #G0 _1┃r4lf4.m=8┃
  1669.  
  1670.     #F0 f16sfs(slslslslsl)8.f32sl16slclsfm=┃flsld+lslrlsld+lsl┃
  1671.     #G0 r8fm=rd+m=>l4<┃r8>l<m=>l<fm=16rm=8>l<┃
  1672.  
  1673.     %72:1^1^1^1        ←●4小節かけて再びアンダンテにリタルダンド
  1674.  
  1675.     #F0 frd+rsrd+rlrd+rsrd+r┃>l8<f>s<m=>fl<rf┃
  1676.     #G0 r8>l16<rm=8>l16<m=f8m=16rm=16>l<ls┃fm=rfm=rd+m=r>l<rm=fslc=┃
  1677.     #F0 m-l_m-rs_r┃d16>c<drdlsl>c<sf+s>lf+m=f+┃s2_4
  1678.     #G0 <d>c-<drd>c-l<d>c-lc-<d>c-lsc-┃l8sf+rs4__2┃_4
  1679. ;
  1680. ; 休符と“%”のみで構成されたテンポ指定専用のフィンガーを設定すると、
  1681. ; 短い区間で木目細かくテンポを変化させるといった調整が容易になります。
  1682. ;
  1683.     \=
  1684.     #F0     _4   %100_1     %200_1     %300:1_1   %150_1     %80:1_1
  1685.     #G0  o3 _4   dms<d>     dms<d>     dms<d>     dms<d>     dms<d>
  1686. ;
  1687. ; (注)テンポ値の与えられていない単独の“%”指定は、その時点の全メンバー、
  1688. ;   全フィンガーのタイミングを整列させるという強力な意味を持ちます。
  1689. ;   詳しくは“(4-1) メンバーのタイミングを強制的に合わせる”をご覧下さい。
  1690. ;
  1691. ;
  1692. ;        =========================================♪
  1693. ;             [3]より高度な記述
  1694. ;        =========================================
  1695. ;
  1696. ;-----------------------------------------------------------------------------
  1697. ;        "(3-1) コマンドによる制御(演奏例はありません)"
  1698. ;-----------------------------------------------------------------------------
  1699. ;
  1700. ; この節では、コマンドという概念の機能を紹介します。
  1701. ; コマンドは“*”に続くコマンド名の後に、ダブルコーテーションでくくられたパ
  1702. ; ラメータを添えるという形式を持っています。
  1703. ;
  1704. ;    *コマンド名 "パラメータ文字列"
  1705. ;
  1706. ; パラメータ文字列は、キャンセル文字に対する唯一の例外領域です。
  1707. ; スペース・全角文字・半角カタカナ・半角縦棒(|)・セミコロン(;)・感嘆符(!)も
  1708. ; 文字列として解釈されます。ただし改行とタブだけはキャンセルされます。
  1709. ;
  1710. ; コマンドは以下の6つが用意されています。始めの3つは、鍵盤上部に文字列が表
  1711. ; 示される機構を持っており、それぞれ表示色が異なります。
  1712. ;
  1713. ;    *HEAD ← 曲のタイトル表示 ‥‥‥‥‥‥‥(青)
  1714. ;    *TEXT ← 文字列の表示 ‥‥‥‥‥‥‥‥‥(茶)
  1715. ;    *STOP ← 一時停止と文字列表示 ‥‥‥‥‥(赤)
  1716. ;    *WAVE ← ウェーブファイルの再生
  1717. ;    *DRUM ← ドラマーに転向させるメンバー指定
  1718. ;    *FING ← フィンガー属性の一括指定
  1719. ;
  1720. ; HEADコマンドは1つのMuseファイルに唯一つ記述するもので、通常曲のタイトル等
  1721. ; を記載します。このHEADコマンドのパラメータ文字列は、ロード直後に表示エリア
  1722. ; に描画されます。HEADコマンドは、どの位置に書いても構いません。
  1723. ; その例として以下にHEADコマンドを記述しますが、この文字列が本Readme.txtを
  1724. ; ロードした直後に表示されるはずです。
  1725. ;
  1726.     *HEAD"■ Muse文法解説のための演奏例 ( Readme.txt 連動 )"
  1727. ;
  1728. ;-----------------------------------------------------------------------------
  1729. %*STOP        "(3-2) カラオケとして利用する"
  1730. ;-----------------------------------------------------------------------------
  1731. ;
  1732. ; TEXTコマンドを打っておくと、そのタイミングで鍵盤上部にその文字を表示させる
  1733. ; ことができます。文字列の表示色は茶色です。1度表示した文字は次に本コマンド
  1734. ; が指定されるまで維持されます。消去したい場合はパラメータを空にしたコマンド
  1735. ; を与えて下さい。
  1736. ;
  1737. ;    *TEXT""
  1738. ;
  1739. ; TEXTコマンドをうまく利用すれば、ちょっとしたカラオケ・システムが作れます。
  1740. ; 通常、音符の合間にTEXTコマンドを挟み込めば良いのですが、以下の例では、休符
  1741. ; だけで構成された歌詞用フィンガーを設定しました。この様に専用フィンガーを
  1742. ; 設定すると、後述するマクロ機構を活用すれば、一番と二番で同一の旋律を繰り返
  1743. ; しても、歌詞は一番・二番で変えることも出来ます。
  1744. ;
  1745. ; カラオケでは、ほんのちょっと早めに歌詞を出すのがコツです。
  1746. ; このフライングの指定には、減算音長記号“~”を利用すると調整が容易です。
  1747. ;
  1748.     ★静かな湖畔(スイス民謡)
  1749.     %120 \-
  1750.     @JK P69 V127 S0 T0
  1751.     #J0 o4 v127
  1752.     f8.f16f8.s16 l8.l16l8.l16 s8.f16s8.l16 f8.f16d4
  1753.     l8.l16l8.c16 <d8.d16d8.d16> c8.l16c8.<d16> l4.<d8>
  1754.     l4.<d8> l4.<d8> l8.<d16>l8.<d16> l2
  1755.  
  1756.     #K0 o3 v127
  1757.  
  1758.     #K1 ;←歌詞専用のフィンガー
  1759.     *TEXT"♪静かな湖畔の 森かげ近く"        _1_1~8 ;←八分音符早めに出す
  1760.     *TEXT"♪起きてはいかがと かっこが鳴く"  _1_1
  1761.     *TEXT"♪カッコー" _2
  1762.     *TEXT"♪カッコー カッコー" _2
  1763.     *TEXT"♪カッコー カッコー カッコー" _8^8.
  1764.     *TEXT"♪カッコー カッコー カッコー カッコー" _8^8.
  1765.     *TEXT"♪カッコー カッコー カッコー カッコー カッコー" _2^16
  1766. ;
  1767. ; TEXTコマンドで最後に表示した文字列は、演奏が終了しても表示したままになりま
  1768. ; す。もし最後まで到達した時に消去したければ *TEXT"" を最後に記述しておいて
  1769. ; 下さい。
  1770. ;
  1771. ;-----------------------------------------------------------------------------
  1772. ;        "(3-3) 途中で強制的に停止させる(演奏例はありません)"
  1773. ;-----------------------------------------------------------------------------
  1774. ;
  1775. ; STOPコマンドは、2つの機能に大別されます。
  1776. ; 一つは、このコマンドに到達した時点で演奏が一時停止する機能。
  1777. ; 今一つは、このコマンドを記述した所を曲の最後と解釈し、そこで演奏を終了する
  1778. ; 機能です。この2つの区別は、パラメータに文字列内容を与えるか否かで行います。
  1779. ;
  1780. ;    ●一時停止の機能
  1781. ;    *STOP "マウスをクリックして下さい"
  1782. ;          ↑この記述がある所で演奏が一時停止する。
  1783. ;           停止とともにパラメータ文字列が赤字で表示される。
  1784. ;
  1785. ;    ●演奏終了の機能
  1786. ;    *STOP ""
  1787. ;          ↑この記述がある所で演奏は終了する。
  1788. ;           (注)この場合でもダブルコーテーションは必要です。
  1789. ;
  1790. ; 前者の例は、シークバーのスライド領域をクリックすると、STOPタイミングに位置
  1791. ; 決めされるため、強力なデバッグ支援機構として活用できます。
  1792. ;
  1793. ; 一時停止の例は、本Readme.txtの各節表題で利用しています。参考にして下さい。
  1794. ; (注)“%”コマンドを併記している理由は各節の頭でタイミングを合わせるためです。
  1795. ;   →“(4-1) メンバーのタイミングを強制的に合わせる”を参照のこと。
  1796. ;
  1797. ; 後者の例は、後ほど紹介する“マクロ”と組合わせることで威力を発揮します。
  1798. ; →“(3-7) 領域を指定し繰返し演奏させる”を参照のこと。
  1799. ;
  1800. ;-----------------------------------------------------------------------------
  1801. %*STOP        "(3-4) Waveファイルを再生させる"
  1802. ;-----------------------------------------------------------------------------
  1803. ;
  1804. ; Museは、任意のタイミングでWaveファイルを再生させる機構を持っています。
  1805. ; 通常、MIDI音源とWAVE音源は独立していますから、MIDIでは表現できない効果音を
  1806. ; ミキシングすることが可能です。コマンド名は WAVE で、パラメータにはWaveファ
  1807. ; イルのファイル名を記述します。ファイル名はパス記述が可能です。
  1808. ; 相対パスにする場合は、記述するMuseファイル自体からの相対パスにします。
  1809. ;
  1810. ; しかしパス記述は、Museデータを配布することを考慮すると、使用を避けた方が
  1811. ; 無難です。MuseファイルとWaveファイルは極力同一フォルダに配置し、ファイル名
  1812. ; だけの指定にすることを推奨します。
  1813. ; (注)たとえWaveファイルが見つからなくとも、エラーにならず曲は進行します。
  1814. ;
  1815. ; なお、下記の例は曲の途中から演奏しているので“V”指定を活用してフェードイン
  1816. ; を実現しています。参考にして下さい。
  1817. ;
  1818.     ★ショパン「幻想即興曲」
  1819.     %80 \=
  1820.     @E P01 S0 T0
  1821.     #E0 o4 v127
  1822.     #E1 o4 v127 ?6
  1823.  
  1824.     #E0 @V30 V127:2 (lclclcl)8.s+16l8.c16┃s8_<c4 & (c8lsm-d>l8.<s16>)2┃
  1825.     #E1 m8c<r+d>┃mc<ms>┃l<d-md>┃
  1826.  
  1827.     #E0 r2~16c16l8.s+16l8.c16┃s4_l(<d>cl)┃s2(lclcl)8s<mr>┃
  1828.     #E1 c8<m>smc<r+lr+┃mscs rflf┃>m<msc <r>csm>┃
  1829.  
  1830.     #E0 <m2s2┃f4m[r]4~8(mrdr)8m8.d16┃>s2l2┃^2(c-<d>c-<d>c-)8l8<r8m8┃
  1831.     #E1 l<dml<d>lmd┃cmlmsmlm┃>msc<m>rfl<r>┃fl+<dfl+fm>f┃
  1832.  
  1833.     #E0 f4mrm┃d4.>f+32sls<m4.r8┃r1┃[d1>s1m1]2
  1834.     #E1 c<r[m+d]s[rf]c[ms]r┃[>l<d]mlm[>l<r]msm┃[>l<r]msc<r>csm[m1>l1]2┃
  1835.  
  1836.     *WAVE "拍手.wav"
  1837.     _1_1_2 ; ←●WAVE音が鳴っている間、休符を入れておく。
  1838. ;
  1839. ; 上記例では曲の終了時に拍手のウェーブ音を入れています。最後の和音の長さは
  1840. ; 全音符ですが、和音自体の占有音長を二分音符にして、音が鳴り終る前に拍手が
  1841. ; かぶるように工夫しています。
  1842. ;
  1843. ; また拍手が鳴っている時間だけ最後に休符を入れ、次の処理との間合を取るのが
  1844. ; コツです。MIDI音源側の演奏が終了した時点(シークバーが右端に達した時点)で、
  1845. ; WAVE音源もOFFになりますから、最後までWAVE音を鳴らしたい場合この最後
  1846. ; の休符は特に重要です。
  1847. ; WAVE音を途中で強制的に止めたい場合は、パラメータ無しのコマンド *WAVE"" を
  1848. ; 指定して下さい。
  1849. ;
  1850. ; (注)余談ですが、私は曲が最後まで鳴り終らない内に拍手をするのが嫌いです。
  1851. ;   ちゃんと最後の響きまで堪能すべきであり、鳴り終ってからの静寂も、少なく
  1852. ;   とも1小節分ぐらいは味わいたいものです。
  1853. ;
  1854. ;-----------------------------------------------------------------------------
  1855. ;        "(3-5) ドラムメンバーを増やす(演奏例はありません)"
  1856. ;-----------------------------------------------------------------------------
  1857. ;
  1858. ; ドラムセットはそのメンバーの音色(P)で指定できますが、ドラムを担うメンバーが
  1859. ; Zメンバー1人では、同時に異なるドラムセットを鳴らすことが出来ません。
  1860. ; そのためには、もう1人ドラマーをアサインする必要があります。この様な場合に
  1861. ; DRUMコマンドを利用すると、A~Oまでのメンバーの内、誰か1人をドラマーとして
  1862. ; 転向させる事が出来ます。
  1863. ;
  1864. ; この指定はDRUMコマンドのパラメータに、転向させるメンバーを与えて行います。
  1865. ; 与えられるメンバー記号は A~O の15メンバーの内のいずれか1つです。
  1866. ; 例えば、メンバーHさんをドラマーに転向させる場合は、以下のように記述します。
  1867. ;
  1868. ;    *DRUM "H"
  1869. ;
  1870. ; DRUMコマンドも、HEADコマンドと同様に、1つのMuseファイルに唯一つ記述します。
  1871. ; ファイル中のどの位置に書いても構いませんが、複数記述することは出来ません。
  1872. ; この事は、ドラマー転向に関して次の制約があることを表しています。
  1873. ;
  1874. ;   ・ドラマーへの転向は一人だけで、しかも一回だけである。
  1875. ;   ・演奏の途中で、楽器を持替える様に転向させることは出来ない。
  1876. ;
  1877. ; どの位置にDRUMコマンドを記述したとしても、指定メンバーは最初からドラマーと
  1878. ; して演奏に参加します。
  1879. ;
  1880. ;-----------------------------------------------------------------------------
  1881. ;        "(3-6) フィンガー属性を一気に指定する(演奏例はありません)"
  1882. ;-----------------------------------------------------------------------------
  1883. ;
  1884. ; 楽章毎に別けて作成したデータを、1つの組曲や交響曲として編成しようとしたり、
  1885. ; 複数の楽曲を1つのアルバムとして綴じようとする場合、いくつかのMuseデータを
  1886. ; 束ねて、1つのMuseデータにすれば良いわけですが、その際、以下の点に気を付け
  1887. ; なればなりません。
  1888. ;
  1889. ;   ①HEADやDRUMコマンドが複数出現しないようにする。→(3-1)(3-5)参照
  1890. ;   ②マクロ名が重複しないようにする。→(3-7)参照
  1891. ;   ③連結する曲間で各属性の初期化を行う。
  1892. ;
  1893. ; 特に③におけるフィンガー属性の初期化は、16メンバー×10フィンガー、最大
  1894. ; 160のフィンガーに対して行わなければなりません。この手間を省くため、FING
  1895. ; コマンドがあります。この指定はFINGコマンドのパラメータに (? x o v) の4つ
  1896. ; のフィンガー属性を与えることで、全メンバー・全フィンガーのフィンガー属性を、
  1897. ; 一括して指定する事ができます。
  1898. ; パラメータ内に記述する4属性は、どの様な順番でも構いません。
  1899. ;
  1900. ;    #A0 ?0 x0 o4 v100
  1901. ;    #A1 ?0 x0 o4 v100
  1902. ;    #A2 ?0 x0 o4 v100
  1903. ;           :        →    *FING "?0 x0 o4 v100"
  1904. ;           :              (これ一発でOK)
  1905. ;    #B0 ?0 x0 o4 v100
  1906. ;    #B1 ?0 x0 o4 v100
  1907. ;    #B2 ?0 x0 o4 v100
  1908. ;           :
  1909. ;           :
  1910. ;
  1911. ; またこのコマンドは、英米系や独系で音名を記述する方にとって、各フィンガーに
  1912. ; 逐一 x1 や x2 の指定をする手間を省きます。
  1913. ; 例えばデータの冒頭で以下の一行を記述すれば、再度指定のない限り、以降すべて
  1914. ; のフィンガーで英米系音名を利用できます。
  1915. ;
  1916. ;    *FING "x1"
  1917. ;
  1918. ; FINGコマンドは何度でも発行できます。また、パラメータに指定しない属性は、
  1919. ; その時の値が維持されます。FINGコマンド中に“v+10”などの相対強弱指定をした
  1920. ; 場合は、その時点の各フィンガー強弱値を基準にして、個々に相対変化が起ります。
  1921. ;
  1922. ;-----------------------------------------------------------------------------
  1923. %*STOP        "(3-7) 領域を指定し繰返し演奏させる"
  1924. ;-----------------------------------------------------------------------------
  1925. ;
  1926. ; 音楽には同じパターンが何度も出現することが多々あります。その様なパターンの
  1927. ; 入力を何度も何度も行うのは単調で苦痛な作業であり、かえって入力ミスも増えま
  1928. ; す。そこでMuseでは、既に入力したパターンを中括弧 {  } でくくって領域を定義
  1929. ; し、その領域に任意の名前を付けることで、再度同じパターンを使用したくなった
  1930. ; 場合に、その名前の入力だけで済ます機構を設けました。
  1931. ; この様な機構は一般に“マクロ”と呼ばれています。
  1932. ; ここでは、領域を指定するマクロ記述を“定義マクロ”と呼び、それを任意の位置
  1933. ; に再現するマクロ記述を“展開マクロ”と呼ぶことにします。
  1934. ; それぞれの書式は以下の通りです。
  1935. ;
  1936. ;    《定義マクロ》→ $ マクロ名 { ‥‥ ここに内容が入る ‥‥ }
  1937. ;
  1938. ;    《展開マクロ》→ $ { マクロ名 } 繰返回数
  1939. ;
  1940. ; マクロ名は自由な命名が可能です。
  1941. ; ただし、スペース・タブ・改行・全角文字・半角カタカナ・半角縦棒(|)の、キャン
  1942. ; セル文字群は無視されます。また、セミコロン(;)および感嘆符(!)は、コメント記
  1943. ; 述文字として解釈されるので使えません。
  1944. ;
  1945. ; マクロは、今まで紹介したあらゆる指定記述とは本質的にレベルが異なり、演奏時
  1946. ; の音出しや文字表示を指示するものではありません。あくまでも、定義マクロの
  1947. ; 領域内に入っている記述が展開マクロの位置に、その繰返し回数分、あたかも存在
  1948. ; するかのように解釈されるだけです。
  1949. ; 一般にマクロというと、定義マクロ部分は実行されず定義に徹するのが普通ですが、
  1950. ; Museでは、定義マクロ部分も通常の記述部分と同様に演奏されます。この思想によ
  1951. ; り、一度書いた部分を気軽にマクロ定義でくくっていけます。
  1952. ; 逆に定義マクロを定義のみとし演奏させたくない場合については、この節の後半で
  1953. ; 紹介する“パターンの部品化”でご説明いたします。
  1954. ;
  1955. ; では講釈はこの位にして、とにかく記述例を示してみることにします。
  1956. ;
  1957.     ★クラリネットをこわしちゃった(フランス童話)
  1958.     %280 \-
  1959.     @K V080 P49 S0 T0 Q00 R40 W0
  1960.     @M V120 P70 S0 T0 Q10 R60 W0
  1961.     @N V120 P72 S0 T0 Q20 R60 W0
  1962.     @Z P1
  1963.     #K0 o6 v80
  1964.     #M0 o4 v80
  1965.     #N0 o4 v120
  1966.  
  1967.     *TEXT"ここから、冒頭のマクロの開始です"
  1968.     $Macro1{
  1969.         #K0┃'F'1&┃'F' ┃'F'&   ┃'F'2._4┃
  1970.            ┃'F'1&┃'F' ┃'F'&   ┃'F'2._4┃
  1971.         #M0┃f4fff┃fffs┃l2.s4  ┃f2d4_  ┃
  1972.            ┃f4fff┃fffs┃l2.s4  ┃f2d4_  ┃
  1973.         #N0┃f4fff┃fffs┃l2.s4  ┃f2d4_  ┃
  1974.            ┃l4lll┃lllc┃<d2.>c4┃l2f4_  ┃
  1975.  
  1976.         *TEXT"これは、セーニョ部分のマクロです"
  1977.         $Macro2{
  1978.             #K0┃'F'1        ┃>'D7'<    ┃'Gm7'&     ┃'Gm7'2_         ┃
  1979.                ┃>'C7'1&     ┃'C7'<     ┃'F'&       ┃'F'2_           ┃
  1980.                ┃'F'1&       ┃'F'4_2.   ┃'F'1&      ┃'F'1            ┃
  1981.                ┃'F'1&       ┃'F'       ┃>'D7'<     ┃'Gm'4>'D7'<'Gm'2┃
  1982.                ┃>'C7'1&     ┃'C7'&     ┃'C7'<      ┃
  1983.             #M0┃l2l4.//l8// ┃f+4rmf+   ┃s2s4.//s8//┃s2_             ┃
  1984.                ┃s4//ss4.//f8┃m4drm     ┃f2f4.//f8//┃f2_             ┃
  1985.                ┃l2.s4       ┃f4___     ┃l2.s4      ┃f4__<d>         ┃
  1986.                ┃l4l8ll4<d>  ┃l4l8ll4<d>┃<rd>cl     ┃slcc            ┃
  1987.                ┃s4s8ss4c    ┃s4s8ss4c  ┃<d>cls     ┃
  1988.             #N0┃<d2d4.//d8//┃r4d>cl    ┃c2c4.//c8//┃c2_             ┃
  1989.                ┃c4//cc4.//c8┃<d4>cls   ┃l2l4.//l8//┃l2_             ┃
  1990.                ┃<d2.>c4     ┃l4___     ┃<d2.>c4    ┃l4__<d>         ┃
  1991.                ┃l4l8ll4<d>  ┃l4l8ll4<d>┃<rd>cl     ┃slcc            ┃
  1992.                ┃s4s8ss4c    ┃s4s8ss4c  ┃<d>cls     ┃
  1993.         }
  1994.         #K0 ┃'F'2_┃
  1995.         #M0 ┃f1   ┃
  1996.         #N0 ┃f1   ┃
  1997.     }
  1998.  
  1999.     *TEXT"冒頭のマクロを再現します"
  2000.     ${Macro1}
  2001.  
  2002.     *TEXT"マクロを抜けました"
  2003.     #K0┃'F'1&┃'F'    ┃'F'&   ┃'F' ┃
  2004.        ┃'F'1&┃'F'    ┃'F'&   ┃'F' ┃
  2005.        ┃'F'1&┃'F'    ┃'F'&   ┃'F' ┃
  2006.     #M0┃f4fff┃ffff   ┃ffff   ┃fffs┃
  2007.        ┃l2.s4┃f2d    ┃f4fff  ┃ffff┃
  2008.        ┃f4fff┃fffs   ┃l2.s4  ┃f2d ┃
  2009.     #N0┃f4fff┃ffff   ┃ffff   ┃fffs┃
  2010.        ┃l2.s4┃f2d    ┃l4lll  ┃llll┃
  2011.        ┃l4lll┃lllc   ┃<d2.>c4┃l2f ┃
  2012.  
  2013.     *TEXT"セーニョに戻ります"
  2014.     ${Macro2}
  2015.  
  2016.     *TEXT"最後に、コーダを演奏します"
  2017.     #K0┃'F'4_>'C7'<_┃'F'__2┃
  2018.     #M0┃f4//_<d>_   ┃<f>__2┃
  2019.     #N0┃f4//_<d>_   ┃<f>__2┃
  2020.     *TEXT""_1`2
  2021.  
  2022.     $Drum{                            ;ドラムのマクロ(後半でも使用します)
  2023.         #Z0 $Set{v60 [o4r+]0 ,4,8,,4,}
  2024.             ${Set}16 v127_2o3l2  ${Set} v127_2o3d+2  ${Set}9
  2025.             ${Set}16 v127_2o2r+2 ${Set} v127_2o3l+2 ${Set}8
  2026.             o4 v127 [l+<l>]1 l+,l+ ,, l+l+l+l+ [l+<l>],
  2027.             ${Set}9 v127_2o5s2 ${Set} v127_2o5f+2 ${Set}7 ,4_,_,__2
  2028.     }
  2029. ;
  2030. ; 以上のようにマクロはかなり柔軟な記述ができるので、楽典に山のように存在する
  2031. ; 繰返し記述(反復記号・1カッコ・2カッコ・セーニョ・ダルセーニョ・コーダ・
  2032. ; ダカーポ・フィーネ等)を、これ一発で表現できます。
  2033. ; また繰返し回数は、特にパーカッションで威力を発揮します。上記例は1小節分の
  2034. ; パターンを $Set で定義しておき、あとは必要な小節分回数で展開しています。
  2035. ;
  2036. ; 定義マクロは入れ子が何階層でも記述できます。
  2037. ; 例えば、上記の例で、$Macro1 の中に、$Macro2 が含まれていますし、
  2038. ; ドラムのマクロ $Drum の中にも、$Set が含まれています。
  2039. ; ただし、定義マクロの中にそれ自身の展開マクロを記述すると無限ループが生成
  2040. ; するため、文法エラーとなるのでご注意下さい。
  2041. ;
  2042. ; 定義マクロの{  }の中には、今まで出てきたあらゆる記述記号を包含できます。
  2043. ; また、音符の連結“&”までを記述しておき、展開マクロの次の音と連結させること
  2044. ; も可能です。更に“(1-19)再現表記の活用”で紹介した「リズムパターンの分離」
  2045. ; とゼロ音長を利用して、リズムのマクロ化が実現できます。
  2046. ;
  2047. ;    $Rhythm{,4,4,8,8,4}  ;リズムパターンの定義
  2048. ;    ↓
  2049. ;    'Cm'0  ${Rhythm}     ;Cマイナーのコードをリズムパターンで演奏
  2050. ;    [dms]0 ${Rhythm}     ;ドミソの和音をリズムパターンで演奏
  2051. ;
  2052. ; マクロは繰返し記号への対応という使い方以外にも“演奏データの部品化”という
  2053. ; 活用もできます。曲の後半に旋律やリズムのデータを部品化し、それをマクロとし
  2054. ; て定義しておきます。そして、実際の演奏は曲の前半で展開マクロで行います。
  2055. ; しかし、Museでは定義マクロも演奏対象になるため、このままでは後半の部品定義
  2056. ; 部分まで演奏されてしまいます。そこで、前半部と後半部の間に曲を終了させる
  2057. ; コマンド *STOP""を記述しておきます。
  2058. ; この様な記述にすると曲全体の進行構造がよくわかり、編曲がしやすくなります。
  2059. ; 上記のリズムパターンも、この方法で部品化すると扱いやすくなります。
  2060. ; なお、*STOP""以降で演奏対象にならない部分は、文法エラーを検出しません。
  2061. ; 以下は、先ほどの曲を部品化した形式で書き直した例です。
  2062. ;
  2063.     ★クラリネットをこわしちゃった(マクロを部品として利用)
  2064.     %%280 \-                      ;←%を重ねている理由は(4-1)を参照のこと
  2065.     @K V080 P49 S0 T0 Q00 R40 W0
  2066.     @M V120 P70 S0 T0 Q10 R60 W0
  2067.     @N V120 P72 S0 T0 Q20 R60 W0
  2068.     #K0 o6 v80
  2069.     #M0 o4 v80
  2070.     #N0 o4 v120
  2071.  
  2072.     *TEXT"部品形式で書き直しました(今演奏しているのは部品1です)"
  2073.     ${Part1}
  2074.  
  2075.     *TEXT"ここで、部品2に入ります"
  2076.     ${Part2}
  2077.     #K0 ┃'F'2_┃
  2078.     #M0 ┃f1   ┃
  2079.     #N0 ┃f1   ┃
  2080.  
  2081.     *TEXT"部品1に戻りました"
  2082.     ${Part1}
  2083.  
  2084.     *TEXT"再度、部品2を演奏します"
  2085.     ${Part2}
  2086.     #K0 ┃'F'2_┃
  2087.     #M0 ┃f1   ┃
  2088.     #N0 ┃f1   ┃
  2089.  
  2090.     *TEXT"次は、部品3です"
  2091.     ${Part3}
  2092.  
  2093.     *TEXT"またしても、部品2に戻りました"
  2094.     ${Part2}
  2095.  
  2096.     *TEXT"最後に、コーダの部品4"
  2097.     ${Part4}
  2098.  
  2099.     ${Drum}       ; ←●前半で定義してあるドラムセットを再利用しています
  2100.  
  2101.     _2
  2102.     *TEXT"以上です"
  2103.     *STOP""       ; ←●ここで演奏終了(以下は実体のデータ)
  2104.  
  2105.     ■部品1
  2106.     $Part1{
  2107.         #K0┃'F'1&┃'F' ┃'F'&   ┃'F'2._4┃
  2108.            ┃'F'1&┃'F' ┃'F'&   ┃'F'2._4┃
  2109.         #M0┃f4fff┃fffs┃l2.s4  ┃f2d4_  ┃
  2110.            ┃f4fff┃fffs┃l2.s4  ┃f2d4_  ┃
  2111.         #N0┃f4fff┃fffs┃l2.s4  ┃f2d4_  ┃
  2112.            ┃l4lll┃lllc┃<d2.>c4┃l2f4_  ┃
  2113.     }
  2114.  
  2115.     ■部品2
  2116.     $Part2{
  2117.         #K0┃'F'1        ┃>'D7'<    ┃'Gm7'&     ┃'Gm7'2_         ┃
  2118.            ┃>'C7'1&     ┃'C7'<     ┃'F'&       ┃'F'2_           ┃
  2119.            ┃'F'1&       ┃'F'4_2.   ┃'F'1&      ┃'F'1            ┃
  2120.            ┃'F'1&       ┃'F'       ┃>'D7'<     ┃'Gm'4>'D7'<'Gm'2┃
  2121.            ┃>'C7'1&     ┃'C7'&     ┃'C7'<      ┃
  2122.         #M0┃l2l4.//l8// ┃f+4rmf+   ┃s2s4.//s8//┃s2_             ┃
  2123.            ┃s4//ss4.//f8┃m4drm     ┃f2f4.//f8//┃f2_             ┃
  2124.            ┃l2.s4       ┃f4___     ┃l2.s4      ┃f4__<d>         ┃
  2125.            ┃l4l8ll4<d>  ┃l4l8ll4<d>┃<rd>cl     ┃slcc            ┃
  2126.            ┃s4s8ss4c    ┃s4s8ss4c  ┃<d>cls     ┃
  2127.         #N0┃<d2d4.//d8//┃r4d>cl    ┃c2c4.//c8//┃c2_             ┃
  2128.            ┃c4//cc4.//c8┃<d4>cls   ┃l2l4.//l8//┃l2_             ┃
  2129.            ┃<d2.>c4     ┃l4___     ┃<d2.>c4    ┃l4__<d>         ┃
  2130.            ┃l4l8ll4<d>  ┃l4l8ll4<d>┃<rd>cl     ┃slcc            ┃
  2131.            ┃s4s8ss4c    ┃s4s8ss4c  ┃<d>cls     ┃
  2132.     }
  2133.  
  2134.     ■部品3
  2135.     $Part3{
  2136.         #K0┃'F'1&┃'F'    ┃'F'&   ┃'F' ┃
  2137.            ┃'F'1&┃'F'    ┃'F'&   ┃'F' ┃
  2138.            ┃'F'1&┃'F'    ┃'F'&   ┃'F' ┃
  2139.         #M0┃f4fff┃ffff   ┃ffff   ┃fffs┃
  2140.            ┃l2.s4┃f2d    ┃f4fff  ┃ffff┃
  2141.            ┃f4fff┃fffs   ┃l2.s4  ┃f2d ┃
  2142.         #N0┃f4fff┃ffff   ┃ffff   ┃fffs┃
  2143.            ┃l2.s4┃f2d    ┃l4lll  ┃llll┃
  2144.            ┃l4lll┃lllc   ┃<d2.>c4┃l2f ┃
  2145.     }
  2146.  
  2147.     ■部品4
  2148.     $Part4{
  2149.         #K0┃'F'4_>'C7'<_┃'F'__2┃
  2150.         #M0┃f4//_<d>_   ┃<f>__2┃
  2151.         #N0┃f4//_<d>_   ┃<f>__2┃
  2152.     }
  2153. ;
  2154. ;-----------------------------------------------------------------------------
  2155. ;        "(3-8) 無名マクロによる繰返し記述(演奏例はありません)"
  2156. ;-----------------------------------------------------------------------------
  2157. ;
  2158. ; ほんのちょっとした旋律パターンを反復して記述する際、前節のマクロを利用しよ
  2159. ; うとすると、ユニークなマクロ名をいちいち与えるのに苦労する場合があります。
  2160. ; その場だけの繰返しであるならばマクロ名の命名は煩わしいものです。
  2161. ; この様な場合は“無名マクロ”が便利です。
  2162. ; 無名マクロは、中括弧{ }で括られた部分を再現する記述です。常に直前の定義域
  2163. ; を展開するという原則のため“$マクロ名”を付ける必要がなくなります。
  2164. ; 再現部の指定は、中身の無い中括弧{ }で行います。
  2165. ;
  2166. ; 中括弧以外の部分に o や v の指定をすれば、ユニゾン演奏として同一の旋律を
  2167. ; オクターブ上や下で鳴らし、更に各メンバーの音量に変化を与えるような記述が
  2168. ; 簡便にできます。
  2169. ;
  2170. ;    #A0 o4 drmf slc_ cccc mrd_
  2171. ;    #B0 o5 drmf slc_ cccc mrd_
  2172. ;
  2173. ;    #A0 v80 fsfs ccc_ <d>cls mrd_
  2174. ;    #B0 v50 fsfs ccc_ <d>cls mrd_
  2175. ;
  2176. ;    ↓
  2177. ;
  2178. ;    #A0 o4 { drmf slc_ cccc mrd_ }
  2179. ;    #B0 o5 { }
  2180. ;
  2181. ;    #A0 v80 { fsfs ccc_ <d>cls mrd_ }
  2182. ;    #B0 v50 { }
  2183. ;
  2184. ; 閉じ括弧に繰返し回数を添えることもできるので、わざわざマクロ名を付けるまで
  2185. ; もない局所的な伴奏の反復などにも有効です。
  2186. ; 入れ子の記述も可能ですから、工夫すると記述量がぐっと減ります。
  2187. ;
  2188. ;    #A0 dmsdflms_ dmsdflfl_ dmsdflms_ dmsdflfl_ dmsdflms_ dmsdflfl_
  2189. ;    ↓
  2190. ;    #A0 { {dmsdfl}ms_ { }fl_ } { }2
  2191. ;
  2192. ; 前節のマクロでは、繰返し回数は展開マクロ側でのみ指定可能ですが、無名マクロ
  2193. ; の場合は、定義する局面でも繰返し回数を指定できます。
  2194. ; したがって、ちょっとしたフレーズの繰返しを簡素に記述できます。
  2195. ;
  2196. ;    #A0 { d r m f s f m r d } {}7
  2197. ;    ↓
  2198. ;    #A0 { d r m f s f m r d }8
  2199. ;
  2200. ; この記述は、単純な繰返し記述と解釈できます。
  2201. ;
  2202. ;
  2203. ;        =======================================♪
  2204. ;               [4]補足
  2205. ;        =======================================
  2206. ;
  2207. ;-----------------------------------------------------------------------------
  2208. ;        "(4-1) メンバーのタイミングを強制的に合わせる"
  2209. ;-----------------------------------------------------------------------------
  2210. ;
  2211. ; テンポ値が添えられていない単独の“%”指定は、タイミングを合わせるという
  2212. ; 意味で非常に強力な指定です。この指定を行うと、それまで記述していた音符群は、
  2213. ; 全メンバー、全フィンガーを通じて、時間的に同じスタートラインに整列します。
  2214. ; その整列タイミングは“%”指定が与えられた時点で、全体を通じて最も先まで進
  2215. ; んでいる音符位置が採用されます。図解すると以下のようになります。
  2216. ;
  2217. ; ■例えば、以下のような記述をしたとします。
  2218. ;
  2219. ;    #A0 |①---------->|
  2220. ;    #A1 |②------------------------>|
  2221. ;    #B0 |③---------------->|
  2222. ;
  2223. ;    #A0 |④-------------->|
  2224. ;    #A1 |⑤-------------->|
  2225. ;    #B0 |⑥-------------->|
  2226. ;
  2227. ;  フィンガー宣言はたとえ断続的に現れても、前回のそのフィンガーの音から継続
  2228. ;  して演奏されるため、上記は実際の演奏では以下のようになります。
  2229. ;
  2230. ;    #A0 |①---------->|④-------------->|
  2231. ;    #A1 |②------------------------>|⑤-------------->|
  2232. ;    #B0 |③---------------->|⑥-------------->|
  2233. ;
  2234. ; ■今度は、③と④の間に“%”指定を行ったとします。
  2235. ;
  2236. ;    #A0 |①---------->|
  2237. ;    #A1 |②------------------------>|
  2238. ;    #B0 |③---------------->|
  2239. ;
  2240. ;    %                    ←●ここで%指定を行った。
  2241. ;
  2242. ;    #A0 |④-------------->|
  2243. ;    #A1 |⑤-------------->|
  2244. ;    #B0 |⑥-------------->|
  2245. ;
  2246. ;  すると、“%”が記述された部分で全メンバー・全フィンガーのタイミングが
  2247. ;  強制的に整列するので、最も先まで音符のある②まで休符が挿入され、実際の
  2248. ;  演奏は以下のようになります。
  2249. ;
  2250. ;    #A0 |①---------->|     休符     |④-------------->|
  2251. ;    #A1 |②------------------------>||⑤-------------->|
  2252. ;    #B0 |③---------------->|  休符  |⑥-------------->|
  2253. ;                                       ↑
  2254. ;                                       ●この位置にタイミングが整列する。
  2255. ;
  2256. ; (注)この強制タイミング合せの効果は、あくまでもテンポ値の添えられていない
  2257. ;   単独の“%”が指定された場合にのみ起り、テンポ値を与えた場合は、その
  2258. ;   限りではありません。タイミングを合せしかもテンポ値も変えたい場合は、
  2259. ;   %%120 という様に、%を2つ記述して下さい。1つ目でタイミングがそろい、
  2260. ;   2つ目でテンポが変ります。
  2261. ;
  2262. ; なお、ここで自動付加された休符も“フィンガー拍数”の確認機能において、
  2263. ; 実際に存在するものとしてカウントされ、表示されます。
  2264. ; 明に記述していない休符が与えられるという事を意識しておけば、逆にこの強引な
  2265. ; 処理を積極的に使用し、一気に全メンバーのタイミングを合わせることが可能とな
  2266. ; ります。例えば、たまにしか演奏に参加しないメンバーがある場合、延々と休符を
  2267. ; 記述して出番を待つかわりに、出番の直前で“%”を書けば事足りる訳です。
  2268. ;
  2269. ; 前半(①②③)に記述した内容が、整列タイミングを越えて、後半(④⑤⑥)に波及す
  2270. ; る場合があります。それは、以下の3つの場合です。
  2271. ;
  2272. ;  (1)前半の音符が連結(&)で終了している場合
  2273. ;    →強制休符が挟まれなければ、前半の音と後半の音がきちんと連結されます。
  2274. ;
  2275. ;  (2)メンバー属性指定で与えた遅延音長が、タイミング整列位置を越えている場合
  2276. ;    →後半に属性の効果が雪崩れ込み、遅延速度は後半のテンポに従います。
  2277. ;
  2278. ;  (3)和音記述において、占有音長より長い音長を和音内音符に与えた場合
  2279. ;    →後半まで音が持続されます。後半の音長は後半のテンポに従います。
  2280. ;
  2281. ;-----------------------------------------------------------------------------
  2282. ;        "(4-2) コマンドの実行タイミングについて"
  2283. ;-----------------------------------------------------------------------------
  2284. ;
  2285. ; “*”コマンドは、マクロのような比較的上位レベルの指定に誤解されがちですが、
  2286. ; 実はかなり下位レベルにあり、その実行されるタイミングはフィンガー宣言“#”
  2287. ; に依存しています。すなわち、音符と同等のレベルにあります。
  2288. ; “*”コマンドを記述する時は、どのフィンガーに対して書いているのかを意識し
  2289. ; て下さい。タイミング上は“*”コマンドは音長ゼロの一種の音符であると考えた
  2290. ; 方が良いかもしれません。
  2291. ; その意味では“(2-4) メンバー単位に指定する値”で説明した、メンバー属性も
  2292. ; 実行されるタイミングは、任意のフィンガーに依存する訳ですから、音長ゼロの
  2293. ; 特殊な音符と解釈することが出来ます。
  2294. ; この考え方は“%”によるテンポ指定でも当てはまります。テンポを変化させる
  2295. ; タイミングは、やはりフィンガー内の記述位置に依存しています。
  2296. ;
  2297. ; (注)テンポ値の与えられていない“%”は、その時点で全フィンガーのタイミング
  2298. ;   強制的に合わせるので、他と異なる強い意味を持ちます。
  2299. ;   →“(4-1) メンバーのタイミングを強制的に合わせる”を参照のこと。
  2300. ;
  2301. ;-----------------------------------------------------------------------------
  2302. ;        "(4-3) 連符・和音・コードの入れ子関係"
  2303. ;-----------------------------------------------------------------------------
  2304. ;
  2305. ; 連符や和音は複数の音を列挙する記述形式を持っています。そして、その音の集合
  2306. ; 体が1つの占有音長を持っているので、それ自身1つの音であるとも解釈できます。
  2307. ; 同様に、コード記述も1度に複数の音が鳴りますが占有音長という概念から1音と
  2308. ; 見なせます。したがって“連符”や“コード”という1つの音が和音の中に記述さ
  2309. ; れたり、“和音”や“コード”という1つの音が連符の中に記述できても良いはず
  2310. ; です。Museは考え得るこれらのハイブリッドな記述に対応しています。
  2311. ;
  2312. ;    《連符の中に各タイプの音を並べた例》
  2313. ;
  2314. ;        ( [dms] [dfl] [cls] d r m 'C#m7' )4
  2315. ;
  2316. ;    《和音の中に各タイプの音を並べた例》
  2317. ;
  2318. ;        [ d8 r2 m4 (mf<s>)16 'Eb'1 ]4
  2319. ;
  2320. ; ハイブリッドな和音記述が可能なことで、Museでサポートしているコードに音を重
  2321. ; ねて、より複雑なコードパターンを比較的容易に作成できます。
  2322. ;
  2323. ; ただし、連符同士の入れ子、和音同士の入れ子はできません。
  2324. ;
  2325. ;    ( d r m (dfl) )  ←NG
  2326. ;    [ d r m [dfl] ]  ←NG
  2327. ;
  2328. ; 和音同士の入れ子は論理的に意味がありませんが、連符同士の入れ子は譜面に記載
  2329. ; されている場合があります。その場合は、次のような記述で対応して下さい。
  2330. ; 例えば、6連符の最初の1音が3連符であった場合、Muse記法で強引に記述すると
  2331. ; 以下のようになります。
  2332. ;
  2333. ;    ( (α α α) β β β β β )
  2334. ;
  2335. ; しかし、先程述べた様にMuseでは連符の入れ子はできません。
  2336. ; そこで、αとβの音長比を整数で求めます。上記の場合は、αが1に対してβは3
  2337. ; となります。ここで、連符内の音長は、実音長ではなく単にその連符内の配分比率
  2338. ; を表現するだけであるという性質を利用します。参照 →“(1-11) 連符の表現”
  2339. ; この性質を利用すれば、上記の連符の入れ子を外すことが出来ます。
  2340. ;
  2341. ;    ( α1 α1 α1 β1^1^1 β1^1^1 β1^1^1 β1^1^1 β1^1^1 )
  2342. ;
  2343. ; 更に、乗算記号と省略音長の継承を利用すると、以下の様に簡素に記述出来ます。
  2344. ;
  2345. ;    ( α1 α α β1`3 β β β β )
  2346. ;
  2347. ;-----------------------------------------------------------------------------
  2348. ;        "(4-4) 最小分解能と微分音長"
  2349. ;-----------------------------------------------------------------------------
  2350. ;
  2351. ; Museは音長に関して、64分音符の1/60の最小分解能を持っています。
  2352. ; 64分音符以下の微分音長は、減算記号“~”を使うことで、
  2353. ;
  2354. ;    64.~64
  2355. ;
  2356. ; の様に記述できますが、よりきめ細かく指定するために微分音長記号“i”があり
  2357. ; ます。この指定は“i”に1~60の数値を添えて、その音長を指定する方法です。
  2358. ; i60が64分音符と同じ音長を表現し、i30で64分音符の半分の音長を表します。
  2359. ; したがって、Museの最小分解能は i1 となります。アルペジオの発音遅延部分や、
  2360. ; 微妙に発音をずらして演奏効果を出す場合に、微分音長を利用すると効果的です。
  2361. ; 微分音長は、通常のn分音符音長と同じ局面で記述することができます。また、
  2362. ; 通常音長と微分音長とを混在させた加減算も可能です。ただし、微分音長自体に
  2363. ; 付点を添えることはできません。
  2364. ;
  2365. ;    di60        → d64 と同等
  2366. ;    di30        → d64.~64 と同等
  2367. ;    di15        → d64..~64. と同等
  2368. ;    [dms]4:i10  → 発音遅延に利用した例
  2369. ;    d4^i10      → 微妙に音長をのばした例
  2370. ;    di10`5~i3   → 微分音長の演算
  2371. ;    di45.       → NG(付点は付けられない)
  2372. ;
  2373. ; なお、微分音長の音長値は“フィンガー拍数”ダイアログの“i”マークの位置に
  2374. ; 反映されます。
  2375. ;
  2376. ;-----------------------------------------------------------------------------
  2377. ;        "(4-5) メンバ色の表示優先度について"
  2378. ;-----------------------------------------------------------------------------
  2379. ;
  2380. ; 鍵盤の色は、その音階の音を発生した瞬間に表示され、音が消えた時に戻ります。
  2381. ; では、同時に複数のメンバーが同じ音を発生した場合は、一体どのメンバー色で
  2382. ; 表示されるのでしょうか? それは、Museファイルの記述順番に依存します。いく
  2383. ; ら同時といっても、Museファイル上は1メンバーずつ記述する訳ですから、順番が
  2384. ; があります。表示はその順番で行われるため、一番最後のメンバー色が残る事にな
  2385. ; ります。ですから、できるだけ前面に表示したい色のメンバーは、Museファイル上
  2386. ; では一番後に記述するのがコツです。
  2387. ;
  2388. ;
  2389. ;
  2390. ;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  2391. ;┃【第3章】                   Muse文法リファレンス ┃
  2392. ;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  2393. ;
  2394. ; ・セミコロン以降改行までは、すべての文字を無視する。
  2395. ; ・感嘆符で囲まれた部分はすべからく無視する。
  2396. ; ・閉じられていない感嘆符がある場合は、そこからファイル末尾までを無視する。
  2397. ; ・スペース・タブ・改行・全角文字・半角カタカナ・半角縦棒(|)は無視される。
  2398. ; ・ただしダブルコーテーション間では、改行とタブ以外は通常文字として扱われる。
  2399. ;
  2400. ; ・有意文字は以下のように分類される。
  2401. ;
  2402. ;    - 全域属性 ‥‥‥‥‥ \ % :
  2403. ;    - メンバー宣言 ‥‥‥ @ ABCDEFGHIJKLMNO Z
  2404. ;    - フィンガー宣言 ‥‥ # 0123456789
  2405. ;    - メンバー属性 ‥‥‥ P Q R S T U V W Y :
  2406. ;    - フィンガー属性 ‥‥ ? v o x < >
  2407. ;    - 音符記述
  2408. ;        音名 ‥‥‥‥ d r m f s l c e f g b h _ + - =
  2409. ;        音長 ‥‥‥‥ 0 1 2 4 8 16 32 64 . i ^ ~ ` /
  2410. ;    - 群記述 ‥‥‥‥‥‥ (  ) [  ] ' / :
  2411. ;    - 関連記述 ‥‥‥‥‥ & ,
  2412. ;    - コマンド記述 ‥‥‥ * "  "
  2413. ;    - マクロ記述 ‥‥‥‥ $ {  }
  2414. ;    - キャンセル文字 ‥‥ | ! ;
  2415. ;
  2416. ;==============================================================================
  2417. ;【全域属性】
  2418. ;==============================================================================
  2419. ;
  2420. ; ┌──────────────────┐
  2421. ; │■テンポ                    % ① ② │初期値 %125
  2422. ; └──────────────────┘
  2423. ;
  2424. ;    ①テンポ値(省略可能)
  2425. ;      1分間の四分音符回数を数値で与える。範囲は10~999。
  2426. ;      テンポ値を省略した場合、全メンバー・フィンガーのタイミングを揃える。
  2427. ;      この際、テンポは以前のものが維持される。
  2428. ;      再度、本指定が行われるまで、この値が維持される。
  2429. ;
  2430. ;    ②遅延音長(省略可能)
  2431. ;      上記テンポに到達するまでの時間を、コロンに続けて音長表現で指定する。
  2432. ;      音長表現の形式については“音符”の欄を参照のこと。
  2433. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2434. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2435. ;      コロンのみの記述は出来ない。
  2436. ;      スタッカート指定“/”は使用できない。
  2437. ;
  2438. ;    〔参考〕速度標語の目安
  2439. ;         %40  Grave     (重々しくおそく)
  2440. ;         %45  Largo     (幅広くおそく)
  2441. ;         %52  Lento     (おそく)
  2442. ;         %58  Adagio    (ゆるやかに)
  2443. ;         %72  Andante   (歩く速さで)
  2444. ;         %80  Andantino (やや速く)
  2445. ;         %92  Moderato  (中位の速さで)
  2446. ;        %100  Allegretto(やや快速に)
  2447. ;        %132  Allegro   (快速に)
  2448. ;        %160  Vivace    (活発に)
  2449. ;        %184  Presto    (急速に)
  2450. ;
  2451. ;    〔参考〕四分音符以外の速度指定における変換式
  2452. ;
  2453. ;        今、以下のような速度指定が譜面に書かれていたとする。
  2454. ;            N分音符 = m
  2455. ;        この時、%指定に添える数値αは以下のように算出できる。
  2456. ;            α = 4 × m × (1/N)
  2457. ;        Nが付点八分音符の場合は(1/N)の部分を以下のように算出する。
  2458. ;            (1/N) = 1/8 + 1/16 = 3/16
  2459. ;                   ↑    ↑
  2460. ;                  八分音符  付点
  2461. ;
  2462. ; ┌──────────────────┐
  2463. ; │■調性                         \ ① │初期値 \=
  2464. ; └──────────────────┘
  2465. ;
  2466. ;    ①調記号並び
  2467. ;      1~7個の + あるいは - の並び。
  2468. ;      + が♯、- が♭を表し、その並びの数は♯あるいは♭の数に対応させる。
  2469. ;      ハ調の指定は \= と表現する。
  2470. ;      再度、本指定が行われるまで、この調性が維持される。
  2471. ;
  2472. ;    記述した位置から全メンバー・全フィンガーに作用する。
  2473. ;    ただし、ドラムメンバー、およびコードに対しては機能しない。
  2474. ;    “x2”指定において、音名“b”は調性の影響を受けない。
  2475. ;    また音名“h”は、フラット系の調性の影響を受けない。
  2476. ;
  2477. ;==============================================================================
  2478. ;【メンバー属性】
  2479. ;==============================================================================
  2480. ;
  2481. ; ┌──────────────────┐
  2482. ; │■メンバー宣言                 @ ① │初期値 @A
  2483. ; └──────────────────┘
  2484. ;
  2485. ;    ①メンバー記号(省略可能)
  2486. ;      A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Z の16の英字の中から列挙。
  2487. ;      省略した場合は、その時点のフィンガーが属するメンバーが採用される。
  2488. ;      以降の P V S T R W Q U Y の効果対象を指定する、メンバー宣言である。
  2489. ;
  2490. ;    Zはドラムメンバー専任であり、移調“T”の指定は無効となる。
  2491. ;
  2492. ; ┌──────────────────┐
  2493. ; │■音色                         P ① │初期値 P1
  2494. ; └──────────────────┘
  2495. ;
  2496. ;    ①音色番号
  2497. ;      1 ~ 128 の番号で音色を指定する。
  2498. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2499. ;
  2500. ;    ドラムメンバーに対しては、ドラムセットの選択として機能する。
  2501. ;
  2502. ;    〔参考〕GS系音源における主なドラムセット(右は追加仕様)
  2503. ;     ───┬────────    ───┬────────
  2504. ;       P  │ 9ドラムセット      P  │ 15ドラムセット
  2505. ;     ───┼────────    ───┼────────
  2506. ;        1 │ Standard           2 │ Standard2
  2507. ;        9 │ Room              27 │ Dance
  2508. ;       17 │ Power/Rock          50 │ Ethnic
  2509. ;       25 │ Electronic          51 │ Kick & Snare
  2510. ;       26 │ TR-808(/909)          58 │ Rhythm FX
  2511. ;       33 │ Jazz             128 │ CM-64/32L
  2512. ;       41 │ Brush        ───┴────────
  2513. ;       49 │ Orchestra        (注)音色テーマは明確ではないが、
  2514. ;       57 │ SFX              本表以外の音色番号でも、
  2515. ;     ───┴────────      音色変化を与える事ができる。
  2516. ;
  2517. ; ┌──────────────────┐
  2518. ; │■音量                      V ① ② │初期値 V127
  2519. ; └──────────────────┘
  2520. ;
  2521. ;    ①音量値
  2522. ;      0 ~ 127 の値。0で無音、127で最大となる。
  2523. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2524. ;
  2525. ;    ②遅延音長(省略可能)
  2526. ;      上記音量に到達するまでの時間を、コロンに続けて音長表現で指定する。
  2527. ;      音長表現の形式については“音符”の欄を参照のこと。
  2528. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2529. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2530. ;      コロンのみの記述は出来ない。
  2531. ;      スタッカート指定“/”は使用できない。
  2532. ;
  2533. ; ┌──────────────────┐
  2534. ; │■ステレオ                  S ① ② │初期値 S0
  2535. ; └──────────────────┘
  2536. ;
  2537. ;    ①ステレオ値
  2538. ;      -64 ~ 0 ~ +64 の値。
  2539. ;      -64で左のみ、0で中央、+64で右のみが鳴る。
  2540. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2541. ;
  2542. ;    ②遅延音長(省略可能)
  2543. ;      上記ステレオ値に到達するまでの時間を、
  2544. ;      コロンに続けて音長表現で指定する。
  2545. ;      音長表現の形式については“音符”の欄を参照のこと。
  2546. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2547. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2548. ;      コロンのみの記述は出来ない。
  2549. ;      スタッカート指定“/”は使用できない。
  2550. ;
  2551. ;    ドラムメンバーに対しても機能するが、プリセット・パンからの相対である。
  2552. ;
  2553. ; ┌──────────────────┐
  2554. ; │■残響                      R ① ② │初期値 R40
  2555. ; └──────────────────┘
  2556. ;
  2557. ;    ①残響値
  2558. ;      0 ~ 127 の番号で残響の強さを指定する。
  2559. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2560. ;
  2561. ;    ②遅延音長(省略可能)
  2562. ;      上記残響値に到達するまでの時間を、コロンに続けて音長表現で指定する。
  2563. ;      音長表現の形式については“音符”の欄を参照のこと。
  2564. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2565. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2566. ;      コロンのみの記述は出来ない。
  2567. ;      スタッカート指定“/”は使用できない。
  2568. ;
  2569. ; ┌──────────────────┐
  2570. ; │■揺らぎ                    W ① ② │初期値 W0
  2571. ; └──────────────────┘
  2572. ;
  2573. ;    ①揺らぎ値
  2574. ;      0 ~ 127 の番号で揺らぎの強さを指定する。
  2575. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2576. ;
  2577. ;    ②遅延音長(省略可能)
  2578. ;      上記揺らぎ値に到達するまでの時間を、
  2579. ;      コロンに続けて音長表現で指定する。
  2580. ;      音長表現の形式については“音符”の欄を参照のこと。
  2581. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2582. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2583. ;      コロンのみの記述は出来ない。
  2584. ;      スタッカート指定“/”は使用できない。
  2585. ;
  2586. ; ┌──────────────────┐
  2587. ; │■コーラス                  Q ① ② │初期値 Q0
  2588. ; └──────────────────┘
  2589. ;
  2590. ;    ①コーラス値
  2591. ;      0 ~ 127 の番号でコーラスの大きさを指定する。
  2592. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2593. ;
  2594. ;    ②遅延音長(省略可能)
  2595. ;      上記コーラス値に到達するまでの時間を、
  2596. ;      コロンに続けて音長表現で指定する。
  2597. ;      音長表現の形式については“音符”の欄を参照のこと。
  2598. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2599. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2600. ;      コロンのみの記述は出来ない。
  2601. ;      スタッカート指定“/”は使用できない。
  2602. ;
  2603. ; ┌──────────────────┐
  2604. ; │■ピッチ                    U ① ② │初期値 U0
  2605. ; └──────────────────┘
  2606. ;
  2607. ;    ①ピッチ量
  2608. ;      -240 ~ 0 ~ +240 の値。
  2609. ;      0を標準ピッチとした絶対変化量。10が半音分のピッチ量。
  2610. ;      -240で2オクターブ下、+240で2オクターブ上のピッチとなる。
  2611. ;      0の指定でピッチを標準にする。
  2612. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2613. ;
  2614. ;    ②遅延音長(省略可能)
  2615. ;      上記ピッチに到達するまでの時間を、コロンに続けて音長表現で指定する。
  2616. ;      音長表現の形式については“音符”の欄を参照のこと。
  2617. ;      ゼロ音長を指定すると遅延が起らず即座に効果する。
  2618. ;      本指定で与えた音長は、省略音長の対象にはならない。
  2619. ;      コロンのみの記述は出来ない。
  2620. ;      スタッカート指定“/”は使用できない。
  2621. ;
  2622. ; ┌──────────────────┐
  2623. ; │■ペダル                       Y ① │初期値 Y0
  2624. ; └──────────────────┘
  2625. ;
  2626. ;    ①ペダル制御値
  2627. ;      0 ~ 1 の値。
  2628. ;      Y0でペダルを離し、Y1でペダルを踏む。
  2629. ;      Y1が連続した場合は、一度素早くペダルを離した後、再度速やかに踏む。
  2630. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2631. ;
  2632. ; ┌──────────────────┐
  2633. ; │■移調                         T ① │初期値 T0
  2634. ; └──────────────────┘
  2635. ;
  2636. ;    ①移調値
  2637. ;      -95 ~ 0 ~ +95 の値。半音単位に移調する量を指定する。
  2638. ;      12の倍数を指定することでオクターブ単位の上下となる。
  2639. ;      記述された音程に対し、-で低音側、+で高音側に移調する。
  2640. ;      再度、本指定が行われるまで同一メンバー内でこの値が維持される。
  2641. ;
  2642. ;    なお、本指定はドラムメンバーに対しては機能しない。
  2643. ;
  2644. ;    〔参考〕移調量と主な移調楽器
  2645. ;     ───┬──┬──┬──┬──┬──┬──┬──┬──┬──┬───
  2646. ;       D♭│ D │E♭│ E │ F │G♭│ G │A♭│ A │B♭│ B
  2647. ;     ───┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───
  2648. ;      T+1 │T+2 │T+3 │T+4 │T+5 │T+6 │T+7 │T+8 │T+9 │T+10│T+11
  2649. ;      T-11│T-10│T-9 │T-8 │T-7 │T-6 │T-5 │T-4 │T-3 │T-2 │T-1
  2650. ;     ───┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───
  2651. ;      Cの楽器 :Piccolo,Flute,Oboe,Bassoon,Euphonium,Trombone,Tuba
  2652. ;      E♭の楽器:Eb-Clarinet,AltoSax,BaritoneSax
  2653. ;      Fの楽器 :EnglishHorn,FrenchHorn
  2654. ;      B♭の楽器:Clarinet,BassClarinet,TenorSax,Cornet,Trumpet,Baritone
  2655. ;
  2656. ;==============================================================================
  2657. ;【フィンガー属性】
  2658. ;==============================================================================
  2659. ;
  2660. ; ┌──────────────────┐
  2661. ; │■フィンガー宣言            # ① ② │初期値 #A0
  2662. ; └──────────────────┘
  2663. ;
  2664. ;    ①メンバー記号
  2665. ;      A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Z の16の英字の内1つ。
  2666. ;
  2667. ;    ②フィンガー値
  2668. ;      0 ~ 9 の値。
  2669. ;
  2670. ;    以降の ? v o x < > * () [] '' および、音符指定やコマンド記述が
  2671. ;    本宣言のメンバー内フィンガーに反映する。
  2672. ;    ドラムメンバーは、コードおよび音部記号“?”を使用することはできない。
  2673. ;    自動演奏時の演奏色はメンバーにより決まる。
  2674. ;
  2675. ; ┌──────────────────┐
  2676. ; │■音名タイプ                   x ① │初期値 x0
  2677. ; └──────────────────┘
  2678. ;
  2679. ;    ①音名値
  2680. ;      0 ~ 2 の値。
  2681. ;        ──┬─────────────
  2682. ;            │ ハ  ニ  ホ  ヘ  ト  イ  ロ 変ロ
  2683. ;        ──┼─────────────
  2684. ;         x0 │ d  r  m  f  s  l  c
  2685. ;         x1 │ c  d  e  f  g  a  b
  2686. ;         x2 │ c  d  e  f  g  a  h   b
  2687. ;        ──┴─────────────
  2688. ;
  2689. ;    ドラムメンバーに関しても、本指定の音名が採用される。
  2690. ;    再度、本指定が行われるまで同一フィンガー内でこの値が採用される。
  2691. ;    “x2”指定において、音名“b”は調性の影響を受けない。
  2692. ;    また音名“h”は、フラット系の調性の影響を受けない。
  2693. ;
  2694. ; ┌──────────────────┐
  2695. ; │■強弱                         v ① │初期値 v100
  2696. ; └──────────────────┘
  2697. ;
  2698. ;    ①強弱値
  2699. ;      0 ~ 127の値。0で無音,127で最強となる。
  2700. ;      ±符号付の数値を指定すると、現強弱値を基準にした相対変化となる。
  2701. ;      相対変化の結果が 1 ~ 127 の範囲を超える場合、限界値がセットされる。
  2702. ;      再度、本指定が行われるまで同一フィンガー内でこの値が維持される。
  2703. ;
  2704. ; ┌──────────────────┐
  2705. ; │■絶対オクターブ               o ① │初期値 o4
  2706. ; └──────────────────┘
  2707. ;
  2708. ;    ①オクターブ値
  2709. ;      0 ~ 8 の値。値が増すほど高音側を表す。
  2710. ;
  2711. ;    次の絶対あるいは相対オクターブ指定がなされるまで、
  2712. ;    本指定のオクターブ値が維持される。
  2713. ;
  2714. ; ┌──────────────────┐
  2715. ; │■相対オクターブ         < または > │
  2716. ; └──────────────────┘
  2717. ;
  2718. ;    現在のオクターブ値を相対的に上下させる。
  2719. ;    < で高音側に、> で低音側にシフトする。
  2720. ;    次の絶対あるいは相対オクターブ指定がなされるまで、
  2721. ;    本指定のオクターブ値が維持される。
  2722. ;
  2723. ; ┌──────────────────┐
  2724. ; │■音部記号                     ? ① │初期値 ?0
  2725. ; └──────────────────┘
  2726. ;
  2727. ;    ①音部値
  2728. ;      0 ~ 6 の値。ト音記号としての音階を、指定された音部記号の音階に
  2729. ;      変換する。
  2730. ;
  2731. ;        ?0 ト音記号(高音部記号)
  2732. ;        ?1 ハ音記号(中音部記号)ソプラノ記号(第一線がハ)
  2733. ;        ?2     〃      メゾ・ソプラノ記号
  2734. ;        ?3     〃      アルト記号
  2735. ;        ?4     〃      テノール記号
  2736. ;        ?5     〃      バリトン記号(第五線がハ)
  2737. ;        ?6 ヘ音記号(低音部記号)
  2738. ;
  2739. ;    ドラムメンバーには記述することはできない。
  2740. ;    また、コードに対しては機能しない。
  2741. ;    再度、本指定が行われるまで同一フィンガー内でこの値が維持される。
  2742. ;
  2743. ;==============================================================================
  2744. ;【音符記述】
  2745. ;==============================================================================
  2746. ;
  2747. ; ┌──────────────────┐
  2748. ; │■音符                        ① ② │
  2749. ; └──────────────────┘
  2750. ;
  2751. ;    ①音名表現
  2752. ;      音階記号と臨時記号からなる。
  2753. ;      音階記号は、音名タイプ(x)に従った音名英字の内の1つ。
  2754. ;      臨時記号は、+ が♯、- が♭、= がナチュラルを表す。
  2755. ;      また、++でダブルシャープ、--でダブルフラットを表す。
  2756. ;      臨時記号は、常に調性“\”に優先して作用する。
  2757. ;      また、小節の概念はないので、各音への個別指定が必要。
  2758. ;
  2759. ;    ②音長表現(省略可能)
  2760. ;
  2761. ;       [音長値 + 付点] + [演算記号] + ..... + [スタッカート]
  2762. ;       ~~~~~~~~~~~~~~~~↓~~~~~~~~~~     ↑
  2763. ;             演算記号で数式風に構成して記述可能
  2764. ;     [音長値]
  2765. ;      0,1,2,4,8,16,32,64 の8つの数値の内の1つ。
  2766. ;      ゼロ音長は、演奏を無効化する。
  2767. ;      ゼロ音長であっても、省略音長および再現表記の記憶が行われる。
  2768. ;      和音記述において、ゼロ音長は占有時間ゼロを表現する。
  2769. ;      省略時は、同フィンガーでの直前の音長値が採用される。
  2770. ;
  2771. ;     [付点]
  2772. ;      ピリオド“.”で表す。
  2773. ;      複付点の場合は“..”とピリオドを2つにする。
  2774. ;      3つ以上のピリオドは不可。
  2775. ;      音長値を記述せずに付点のみ記述することはできない。
  2776. ;
  2777. ;     [微分音長]
  2778. ;      [音長値+付点]の位置に、iに添えた1~60の数値により表現。
  2779. ;      i1 が最小分解能であり、64分音符の1/60の音長を表す。
  2780. ;      数値はその倍率を意味し、i60 で64分音符の音長を表現する。
  2781. ;      微分音長には付点を添えることは出来ない。
  2782. ;
  2783. ;     [演算記号]
  2784. ;      3つの記号(^加算 ~減算 `乗算)で表す。
  2785. ;      加減算記号の記述により[音長値+付点]を幾つでも連ねられる。
  2786. ;      乗算記号は、加減算記号より優先して演算される。
  2787. ;      乗算記号は、連続して記述できない。
  2788. ;      乗算記号直後の数字は乗算倍数であり、音長ではない。
  2789. ;
  2790. ;     [スタッカート]
  2791. ;      スラッシュ“/”で表す。
  2792. ;      音長表現末尾にのみ記述可能。
  2793. ;      省略時、スタッカート無しと見なす。
  2794. ;      音長値と共に省略音長の記憶対象となる。
  2795. ;      / は最大4つまで記述でき、個数に応じてスタッカートの強度が増す。
  2796. ;
  2797. ;     〔参考〕スタッカートの目安
  2798. ;           / → メゾスタッカート  (3/4に音長短縮)
  2799. ;          // → スタッカート    (1/2  〃  )
  2800. ;         /// → スタッカティシモ  (1/4  〃  )
  2801. ;        //// → スタッカティシシモ (1/8  〃  )
  2802. ;
  2803. ;==============================================================================
  2804. ;【群記述】
  2805. ;==============================================================================
  2806. ;
  2807. ; ┌──────────────────┐
  2808. ; │■連符                    ( ① ) ② │
  2809. ; └──────────────────┘
  2810. ;
  2811. ;    ①音符並び(省略可能)
  2812. ;      連続して発音すべき音符を連符の数だけ列挙する。
  2813. ;      音名表現と音長表現の形式については“音符”の欄を参照のこと。
  2814. ;      スタッカート指定“/”も各音で独立に反映する。
  2815. ;      各音に与えられた音長は、連符内の音長配分比率に反映する。
  2816. ;      和音やコード表現も記述できる。
  2817. ;      音符並びを省略すると、直前の連符を再現する。
  2818. ;
  2819. ;    ②音長表現(省略可能)
  2820. ;      連符の全体音長を音長表現で指定する。
  2821. ;      音長表現の形式については“音符”の欄を参照のこと。
  2822. ;      ここに与えられた音長内に納るように、連符内の音長を配分する。
  2823. ;      配分比率は、連符内の音符に与えられた音長比率で決定される。
  2824. ;      省略時は、同フィンガーでの直前の音長値が採用される。
  2825. ;      ゼロ音長を指定すると演奏されないが、連符再現パターンは記憶される。
  2826. ;
  2827. ;    和音やコードを包含する事ができる。
  2828. ;    逆に連符を和音の中に記述する事もできる。
  2829. ;    ただし、連符の中に連符を包含することはできない。
  2830. ;
  2831. ; ┌───────────────────┐
  2832. ; │■和音                    [ ① ] ② ③│
  2833. ; └───────────────────┘
  2834. ;
  2835. ;    ①音符並び(省略可能)
  2836. ;      同時発音すべき音符を列挙する。
  2837. ;      音名表現と音長表現の形式については“音符”の欄を参照のこと。
  2838. ;      各音の音長は同じである必要はなく、それぞれ指定の音長分鳴り続ける。
  2839. ;      スタッカート指定“/”も各音で独立に反映する。
  2840. ;      連符やコード表現も記述できる。
  2841. ;      音符並びを省略すると、休符と同じ意味になる。
  2842. ;
  2843. ;    ②占有音長(省略可能)
  2844. ;      和音自体の占有音長を音長表現で指定する。
  2845. ;      音長表現の形式については“音符”の欄を参照のこと。
  2846. ;      ここに与えられた音長が経過した後、次に記述した音が発音を開始する。
  2847. ;      省略時は、同フィンガーでの直前の音長値が採用される。
  2848. ;      ゼロ音長を指定すると占有時間ゼロとなり、次音が即座に発音を開始する。
  2849. ;
  2850. ;    ③発音遅延(省略可能)
  2851. ;      初音から順次ずらしながら演奏する場合、
  2852. ;      ずらす量をコロンに続けて音長表現で指定する。
  2853. ;      音長表現の形式については“音符”の欄を参照のこと。
  2854. ;      ゼロ音長を指定すると発音遅延は起らない。
  2855. ;      コロンのみの記述で、②とは独立の省略音長が採用される。
  2856. ;      スタッカート指定“/”は無効である。
  2857. ;
  2858. ;    連符やコードを包含する事ができる。
  2859. ;    逆に和音を連符の中に記述する事もできる。
  2860. ;    ただし、和音の中に和音を包含することはできない。
  2861. ;
  2862. ; ┌───────────────────┐
  2863. ; │■コード            ' ① ② ③ ' ④ ⑤│
  2864. ; └───────────────────┘
  2865. ;
  2866. ;    ①ルート音表現
  2867. ;      音階記号と半音記号からなる。
  2868. ;      音階記号は、C,D,E,F,G,A,B の7英字の内の1つ。
  2869. ;      半音記号は必要な時に限り記述する。#,b のどちらか一方。
  2870. ;      調性“\”と音部記号“?”の影響を受けない。
  2871. ;      ダブルシャープやダブルフラットは記述不可。
  2872. ;      オクターブは、通常の音符と同様“o”の値が採用されるが、F,G,A,B
  2873. ;      の高音側音階が指定された場合、1オクターブ下げた領域で演奏される。
  2874. ;
  2875. ;    ②コードネーム
  2876. ;      コードネームは、以下の29の内から選択。( )内は指定可能な別名。
  2877. ;
  2878. ;        ────────┬──────────┬────────
  2879. ;          三重和音  │   四重和音   │  五重和音
  2880. ;        ────────┼──────────┼────────
  2881. ;                │  6     m6  │  69   m69
  2882. ;         M(省略)  m │  7     m7  │  9   m9
  2883. ;                │  M7     mM7  │  M9   mM9
  2884. ;         +5(aug)  -5 │  7+5    m7+5 │  7+9  m7+9
  2885. ;                │  7-5    m7-5 │  7-9  m7-9
  2886. ;           sus4   │  add9    madd9 │
  2887. ;                │ dim7(dim)  7sus4 │
  2888. ;        ────────┴──────────┴────────
  2889. ;      〔参考〕コードネームを表す記号
  2890. ;            △ →  M
  2891. ;            + → aug
  2892. ;            ○ → dim
  2893. ;
  2894. ;    ③分数コード(省略可能)
  2895. ;      スラッシュ / に続けて分数コードを指定する。
  2896. ;      分数コードの表記はルート音表現と同じ音階記号で指定する。
  2897. ;      分数コードのオクターブ位置は和音全体の最低音になる様に決定される。
  2898. ;
  2899. ;    ④音長表現(省略可能)
  2900. ;      コード自体の占有音長を音長表現で指定する。
  2901. ;      音長表現の形式については“音符”の欄を参照のこと。
  2902. ;      コード内のすべての音はこの音長となる。
  2903. ;      省略した場合は、同フィンガーでの直前の音長表現が採用される。
  2904. ;      ゼロ音長を指定すると演奏されないが、再現パターンは記憶される。
  2905. ;
  2906. ;    ⑤発音遅延(省略可能)
  2907. ;      低音部から高音部へ順次ずらしながら演奏する場合、
  2908. ;      ずらす量をコロンに続けて音長表現で指定する。
  2909. ;      音長表現の形式については“音符”の欄を参照のこと。
  2910. ;      ゼロ音長を指定すると発音遅延は起らない。
  2911. ;      コロンのみの記述で、④とは独立の省略音長が採用される。
  2912. ;      スタッカート指定“/”は無効である。
  2913. ;
  2914. ;    和音や連符の中に記述する事ができる。
  2915. ;    ドラムメンバーには指定できない。
  2916. ;
  2917. ;==============================================================================
  2918. ;【関連記述】
  2919. ;==============================================================================
  2920. ;
  2921. ; ┌──────────────────┐
  2922. ; │■連結                      ① & ② │
  2923. ; └──────────────────┘
  2924. ;
  2925. ;    ①②音表記
  2926. ;      群記述を含むあらゆる音の表記(単音・連符・和音・コード)
  2927. ;
  2928. ;    連結記号“&”の前後の音要素の内、一致する音階を抽出し切れ目のない
  2929. ;    演奏を行う。すなわち、両者の音長が連結された音符となる。
  2930. ;    連結処理は、同一メンバー内でフィンガーを統合して行われる。
  2931. ;    連結する音同士が異なる音階の場合は、無効となる。
  2932. ;    単音・連符・和音・コード間の連結も可能である。
  2933. ;    連符内に記述することができ、初音の前や終音の後に対して記述すると、
  2934. ;    連符外の音との連結を行う。ただし、和音内の記述は無効となる。
  2935. ;
  2936. ; ┌──────────────────┐
  2937. ; │■再現                         , ① │
  2938. ; └──────────────────┘
  2939. ;
  2940. ;    ①音長表現(省略可能)
  2941. ;      再現音の音長を音長表現で指定する。
  2942. ;      音長表現の形式については“音符”の欄を参照のこと。
  2943. ;      省略した場合は、同フィンガーでの直前の音長表現が採用される。
  2944. ;
  2945. ;    再現記号“,”の位置に直前に記述した和音あるいはコードが再現される。
  2946. ;    再現対象は和音・コードであり、単音・連符は対象外である。
  2947. ;    本記述は連符内には記述できるが、和音内には記述できない。
  2948. ;
  2949. ;==============================================================================
  2950. ;【コマンド記述】
  2951. ;==============================================================================
  2952. ;
  2953. ; ┌──────────────────┐
  2954. ; │■コマンド              * ① " ② " │
  2955. ; └──────────────────┘
  2956. ;
  2957. ;    ①コマンド名
  2958. ;      以下の6名称のいずれか1つで機能を指定する。
  2959. ;        HEAD → 曲頭停止時のタイトル表示(1コマンドのみ有効)
  2960. ;        TEXT → 文字列の表示/消去
  2961. ;        STOP → 一時停止と文字列の表示/完全停止
  2962. ;        WAVE → ウェーブファイルの再生
  2963. ;        DRUM → ドラマーに転向させるメンバー指定(1コマンドのみ有効)
  2964. ;        FING → フィンガー属性の一括指定
  2965. ;
  2966. ;    ②パラメータ文字列
  2967. ;      各コマンドの機能を補完する文字列。最大127文字まで記述可能。
  2968. ;      スペース・全角文字・半角カタカナ・半角縦棒(|)・セミコロン(;)・
  2969. ;      感嘆符(!)もパラメータ文字列として解釈される。
  2970. ;      ただし改行とタブは無視される。
  2971. ;        HEAD → 曲頭において青色で表示
  2972. ;        TEXT → 茶色で表示 ‥‥‥‥‥‥‥‥〔 *TEXT"" で消去指定 〕
  2973. ;        STOP → 赤色で表示し一時停止 ‥‥‥〔 *STOP"" で完全停止 〕
  2974. ;        WAVE → 再生ファイルパス名 ‥‥‥‥〔 *WAVE"" で強制停止 〕
  2975. ;            WAVEファイルのパスは相対および絶対の指定が可能
  2976. ;        DRUM → A~Oのメンバー記号の内、どれか1つを指定
  2977. ;        FING → フィンガー属性 (? x o v) を任意に列挙指定
  2978. ;
  2979. ;    以下のコマンドは、エクスポートにてメタイベントとしてMIDIに出力される。
  2980. ;        HEAD → Sequence/Track Name
  2981. ;        TEXT → Lyric
  2982. ;        STOP → Marker
  2983. ;        WAVE → Cue Point
  2984. ;
  2985. ;==============================================================================
  2986. ;【マクロ記述】
  2987. ;==============================================================================
  2988. ;
  2989. ; ┌──────────────────┐
  2990. ; │■定義マクロ            $ ① { ② } │
  2991. ; └──────────────────┘
  2992. ;
  2993. ;    ①マクロ名
  2994. ;      任意の英数記号文字で命名。その名称は展開マクロにて使用される。
  2995. ;      ただし以下の文字はキャンセル文字として無視される。
  2996. ;        スペース・タブ・改行・全角文字・半角カタカナ・半角縦棒(|)
  2997. ;      また、セミコロン(;)・感嘆符(!)はコメント記述文字として解釈される。
  2998. ;
  2999. ;    ②マクロ内容
  3000. ;      中括弧にて任意の指定内容をくくる。
  3001. ;
  3002. ;    定義マクロ自体も演奏対象となる。
  3003. ;
  3004. ; ┌──────────────────┐
  3005. ; │■展開マクロ            $ { ① } ② │
  3006. ; └──────────────────┘
  3007. ;
  3008. ;    ①マクロ名
  3009. ;      定義マクロにて命名した名称
  3010. ;
  3011. ;    ②繰返回数(省略可能)
  3012. ;      定義マクロを展開する回数
  3013. ;      省略した場合は、1と解釈する。
  3014. ;
  3015. ; ┌──────────────────┐
  3016. ; │■無名マクロ              { ① } ② │
  3017. ; └──────────────────┘
  3018. ;
  3019. ;    ①マクロ内容
  3020. ;      中括弧にて任意の指定内容をくくった場合は、定義域として機能する。
  3021. ;      内容が存在しない場合は、その位置に直前の定義域内容を展開する。
  3022. ;
  3023. ;    ②繰返回数(省略可能)
  3024. ;      定義する局面でも、展開する局面でも有効。
  3025. ;      省略した場合は、1と解釈する。
  3026. ;
  3027. ;
  3028. ;
  3029. ;-----------------------------------------------------------------------------
  3030. ;          ≫≫≫ 著作権などについて ≪≪≪
  3031. ;-----------------------------------------------------------------------------
  3032. ;
  3033. ; Museはフリーソフトです。ただし、Museプログラム、およびドキュメント
  3034. ; に関する著作権は、開発者「加藤 一郎」に帰属します。
  3035. ; 本ソフトウェアは、非営利に限り無許可で再配布、および使用が可能です。
  3036. ; 書籍などへの転載は基本的に快諾致しますが、その件に関するご一報を希望します。
  3037. ;
  3038. ; 作品が出来上ったら私宛(kato@psdl.tmg.nec.co.jp)に送って頂けると幸いです。
  3039. ; 開発の励みにしたいと思います。お礼と言ってはなんですが、送付して頂いたら、
  3040. ; MIDIファイルをMuseファイルに変換するソフト(mid2mus.exe)を、お贈りしようと
  3041. ; 考えています。「mid2mus希望」とお書添え下さい。もちろん無料です。
  3042. ; その他、ご意見・ご感想・ご質問なども謹んでお受けいたします。
  3043. ;
  3044. ; 尚、本Readme.txtに例示されている楽曲、および添付のサンプル曲(Sample*.mus)
  3045. ; については、日本音楽著作権協会(JASRAC)の作品検索サービスによって、作曲に
  3046. ; 関する著作権が消滅している事を確認しております。また、カラオケの説明部分で
  3047. ; 使用している曲に関しては、作詞の著作者も不詳である事を確認しております。
  3048. ;
  3049. ; ■収録楽曲一覧(収録順)
  3050. ;
  3051. ;    (1- 5) ゆめをのせて(ロシア民謡)
  3052. ;    (1- 6) ほたるの光(スコットランド民謡)
  3053. ;    (1- 7) 別れの曲(ショパン)
  3054. ;    (1- 8) 線路は続くよどこまでも(アメリカ民謡)
  3055. ;    (1- 9) 交響曲第6番「田園」(ベートーベン)
  3056. ;    (1-10) アルプス一万尺(アメリカ民謡)
  3057. ;    (1-11) アイーダ行進曲(ヴェルディ)
  3058. ;    (1-12) おお牧場はみどり(チェコスロバキア民謡)
  3059. ;    (1-13) チゴイネルワイゼン(サラサーテ)
  3060. ;    (1-14) 交響詩「我が祖国」より“モルダウ”(スメタナ)
  3061. ;    (1-15) 交響曲「未完成」(シューベルト)
  3062. ;    (1-17) 山の音楽家(ドイツ民謡)
  3063. ;    (2- 1) 交響曲「新世界」(ドボルザーク)
  3064. ;    (2- 4) 亜麻色の髪の乙女(ドビュッシー)
  3065. ;    (2- 5) ピクニック(イギリス民謡)
  3066. ;    (2- 6) 交響曲第9番「喜びの歌」(ベートーベン)
  3067. ;    (2- 6) 賛美歌「きよしこの夜」(グルーバー)
  3068. ;    (2- 8) シチリアーノ(フォーレ)
  3069. ;    (2- 9) 一日の終り(フランス古典)
  3070. ;    (2-10) 森のくまさん(アメリカ童話)
  3071. ;    (2-11) 月光ソナタ(ベートーベン)
  3072. ;    (2-12) ラプソディー・イン・ブルー(ガーシュイン)
  3073. ;    (2-13) 小フーガ ト短調(バッハ)
  3074. ;    (3- 2) 静かな湖畔(作詞作曲不詳)
  3075. ;    (3- 4) 幻想即効曲(ショパン)
  3076. ;    (3- 7) クラリネットをこわしちゃった(フランス童話)
  3077. ;
  3078. ;    (Sample1) 愛の夢「第三番」(リスト)
  3079. ;    (Sample2) 交響詩「中央アジアの草原にて」(ボロディン)
  3080. ;    (Sample3) 四季(ビバルディ)
  3081. ;
  3082. ;
  3083. ;-----------------------------------------------------------------------------
  3084. ;《Ver1.0 開発後記》1999.03.01
  3085. ;
  3086. ; ◆『音楽は時間に描く絵画である』という言葉を聞いたことがあります。
  3087. ;  今回のプログラム開発は、まさにタイミング制御との戦いでした。1000分の1秒で
  3088. ;  タイマーコールバックが起るので、極限まで瞬間々々の処理を軽くしなければな
  3089. ;  らなかったのです。今まで自分のソフトでマシンをハングさせた事などなかった
  3090. ;  のに今回は何度もリセット行為をしてしまいました。ショックでした。
  3091. ; ◆MIDIエクスポートの機構も苦労しました。何が辛かったかってMIDIの仕様を記し
  3092. ;  た資料が見つからないのです。書店にはMIDIシーケンサーを使った曲作りの本は
  3093. ;  山のようにあるのに、MIDIフォーマットそのものの本は本当に僅かなのです。
  3094. ;  そんな折、情報源で役立ったのはWEBでした。まったくインターネットって奴は、
  3095. ;  目的を見据えた情報探索に関しては充実した結果を得ることができるものです。
  3096. ; ◆Muse文法の仕様は、かなりの自信作です。でも一番手が掛りました。
  3097. ;  Readme.txtのサンプル曲を書きながら、次から次へと発想が沸いてきて、何度も
  3098. ;  仕様を変更しました。それに伴い、Museファイルのコンパイルアルゴリズムも、
  3099. ;  幾度となくコーディングし直しました。でも、とってもエレガントな出来だと思
  3100. ;  っています。自分で自分を褒めて上げたい気持です。
  3101. ; ◆ウィンドウのLook&Feelも、とっても気に入っています。シークバーの制御がタイ
  3102. ;  ミング制御と密接に関連しているので大変神経を使いましたが、使う側にとって
  3103. ;  は制約の少ないGUIに仕上ったと思っています。初期の頃は一度演奏を止めないと
  3104. ;  シークする事ができなかったのですから。
  3105. ;  マニュアルに一度書いた制約事項を消していく行為は、実に快感でした。
  3106. ; ◆実は音を鳴らすプログラムは、今回で4回目のトライアルです。
  3107. ;  1回目は16年前、Beep音を機械語でON/OFFし、その周期で音階を作りました。
  3108. ;  そして、BASICのデータファイルから曲を演奏できるようにしたものでした。
  3109. ;  2回目は12年前、始めて個人で手に入れたパソコン“FM-7”のBASICでの音源駆
  3110. ;  動を利用して開発しました。このプログラムは画面に五線紙が表示され、音符を
  3111. ;  配置して曲を演奏するものでした。思いの外、データ入力が大変な作業でした。
  3112. ;  3回目は6年前、“CanBe”でFM音源を駆動する部分をアセンブラで書き、この
  3113. ;  Museの様にテキストファイルから曲を演奏させました。4つのFM音源の波形を
  3114. ;  エディット・ミックスし、音自体を作成してライブラリ化できるシンセサイザー
  3115. ;  まがいのシステムでした。MS-DOSのプログラムだったので、GUIはまったくありま
  3116. ;  せんでしたが、Museの原型はここにあります。
  3117. ; ◆そして4回目の今回、ついに私が求めていたイメージの作品が完成しました。
  3118. ;  昨今、巷にはもっと高機能かつ高性能な音楽シーケンサがあふれています。でも、
  3119. ;  16年の遍歴を抱いたこのMuseは、私にとって非常に愛着の沸く作品なのです。
  3120. ;
  3121. ;《Ver1.1 開発後記》1999.03.03
  3122. ;
  3123. ; ◆初版リリースからまだ3日しか達っていないのに、もうバージョンアップをして
  3124. ;  しまう自分が恥ずかしいのですが、やっぱり直ぐに最新版をお披露目したい気持
  3125. ;  ちを押さえ切れません。今回のバージョンアップは、演奏中や試聴中でも音源の
  3126. ;  切替えを可能にした事と、フィンガー拍数に[偶奇]ボタンを付けた事です。
  3127. ; ◆もう一つ、実は内心とても不安だったCPU負荷の問題にメスを入れました。
  3128. ;  1/1000秒の精度を1/100秒程度に落したことで動作が安定したと思われます。
  3129. ;  しかし一体人間は、音楽を鑑賞するにあたりどの位の時間精度を必要とするので
  3130. ;  しょうか? 少なくとも、私は1/100秒で充分のようですが...。
  3131. ; ◆さて話は遡りますが、今回のMuseは初版リリース前に入念な試行体制を組みまし
  3132. ;  た。当本部内で音楽的な素養のある人に声をかけ、モニタを募ったのです。
  3133. ;  特に以下の4名の方々には、実際に曲を作成して頂くと共に、有益な示唆を数多
  3134. ;  く与えてくれました。前回紹介できなかったので、改めてこの場で感謝の意を表
  3135. ;  します。≪ 田中淳一郎 氏 ・ 河合右輔 氏 ・ 百元正嗣 氏 ・ 大塚剛史 氏 ≫
  3136. ;
  3137. ;《Ver1.2 開発後記》1999.03.05
  3138. ;
  3139. ; ◆これがフリーソフトでなかったら大変な話なのですが、またしてもバージョンを
  3140. ;  上げることに相成りました。少し堪えようと思ったのですが、Muse文法記述に関
  3141. ;  わる部分なので、早くご披露しなければデータ互換が失われ、ユーザからの顰蹙
  3142. ;  を浴びる可能性があります。
  3143. ; ◆変更したのは“x2”指定における音名“h”の解釈です。私自身がハイグレード
  3144. ;  な音楽通ではないもので、仕様を整理するのに大変苦労しました。前バージョン
  3145. ;  の解釈ミスを指摘してくれた河合君と、今回の仕様検討に快く応じてくれた大塚
  3146. ;  君に心より感謝いたします。
  3147. ; ◆考えてみると“文法”という奴はデータフォーマットであり、あんまりコロコロ
  3148. ;  変えられないという事に気づきました。現在のMuse文法にはかなりの自信がある
  3149. ;  のですが、それでも多少ドキドキします。もし致命的な欠陥や記述不能な譜面が
  3150. ;  出現したらなんとしよう...。でもまあ、フリーソフトですから、仕様は予告無く
  3151. ;  変更する場合があるのです。お気楽モードON!
  3152. ; ◆おまけと言ってはなんですが、データ作成のための支援機能を付けました。
  3153. ;  ドラムの試聴でボタンクリックすると、その音階文字列がクリップボードに出力
  3154. ;  されます。テキストエディタ側でペタッと貼付ければ、楽に入力できるという算
  3155. ;  段です。楽器の試聴ではその音色“P”指定を出力します。せっかちな私は、音色
  3156. ;  番号を確認せずにダイアログを閉じてしまう場合がままあったので、少なくとも
  3157. ;  私自身にとっては、ヒット機能です。
  3158. ; ◆更にシークバーの移動時にツールチップで時刻を表示させるようにしました。
  3159. ;  考えてみれば、これだけ付録があればバージョンアップの価値はあるでしょう。
  3160. ;
  3161. ;《Ver1.3 開発後記》1999.03.11
  3162. ;
  3163. ; ◆音楽というものは実に多様なパラメータの組合わせです。Museのような簡易ツー
  3164. ;  ルは、とてもそのすべてを網羅できません。しかし、満点は取れなくとも及第点
  3165. ;  は目指しています。その意味で今まで心残りだったものは、連続的なテンポの変
  3166. ;  化と、滑らかな強弱の変化を表現することでした。
  3167. ;  前者の課題は時間制御の数値計算が実に難解ですが、後者の課題は頑張ればクリ
  3168. ;  アできそうでした。そして、今回はその克服バージョンという訳です。
  3169. ; ◆逆説的ではありますが、滑らかに音の強さを変化させるため、デジタル物量を投
  3170. ;  入してアナログに見せかけると言う処理になりました。所詮、計算機はそんなま
  3171. ;  がい物しかできないのです。特にクラシック系の曲は、クレッシェンド・デクレ
  3172. ;  ッシェンドをふんだんに使って曲想を表現します。実際の楽器を演奏する“人”
  3173. ;  の偉大さを改めて感じ入った次第です。すべてのパラメータをアナログ的に、パ
  3174. ;  ラレル・リアルタイムで処理しているのですから。
  3175. ; ◆ついでと言ってはなんですが、ステレオ効果に関しても同じ概念で文法化できる
  3176. ;  ので、同様の書式でサポートしてみました。今回の強化でMuseの表現力がグッと
  3177. ;  高まったと言えましょう。それにしても、上位コンパチの書式でよかったぁ。
  3178. ; ◆イントラネットに“Museの殿堂”というタイトルのホームページを開設し、そこ
  3179. ;  に皆から送ってもらう作品を展示する事にしました。現在は前に紹介した方々の
  3180. ;  作品が並んでいます。これから、未知の方から作品が送られてくるようになって、
  3181. ;  殿堂がにぎやかになるといいなぁと祈っている今日この頃です。
  3182. ;
  3183. ;《Ver1.4 開発後記》1999.03.20
  3184. ;
  3185. ; ◆私は根っから単純なので複雑な文法は嫌いだし、そもそも覚えるべきコマンドが
  3186. ;  多いのも閉口します。そんな訳で本来のMIDI音源の能力を引出すエフェクト指定
  3187. ;  を無視してきました。デフォルト固定でコーディングしていたのです。
  3188. ; ◆しかし開発が一段落した今、ちょっと試みにエフェクトの効果実験をしてみると
  3189. ;  これが思いの外楽しいのです。128の決められた楽器をただ受身で選ぶのではなく
  3190. ;  何やら自分なりの音色を創作できる小気味よさが感じられます。
  3191. ; ◆という訳で、とうとうMIDIエフェクト命令まで実装してしまいました。と言って
  3192. ;  も、ごくごく基本的な3つのコマンドだけです。でも私にとっては充分すぎる
  3193. ;  ぐらい複雑です。なにせ私は、1・2・沢山 … という大雑把な人間なので。
  3194. ; ◆ちなみに今回のバージョンは必然的に「楽器の試聴」ダイアログに手を入れる事
  3195. ;  になり、800×600 の解像度しか持たないノートパソコンにうまく納めるという
  3196. ;  改良も行いました。それとツールチップ発生時のウィンドウフォーカスの問題や、
  3197. ;  クレッシェンド指定時の対象チャネル算出部の不具合なども直しました。
  3198. ;
  3199. ;《Ver1.5 開発後記》1999.04.02
  3200. ;
  3201. ; ◆友達から続々と素晴しい曲が届きました。そしてそれらのデータを聴いたり、見
  3202. ;  たりしているうちに、また新たな強化の思いが湧起ったのです。1つは、多くの
  3203. ;  メンバーを用いたデータに対し、あるメンバーだけ取出して聴いてみたいという
  3204. ;  欲求です。丁度メンバー色一覧のダイアログが表示するだけで淋しげだったので、
  3205. ;  そこにメンバーのON/OFF機構を付けました。デバッグにも役立ちそうで、なかな
  3206. ;  かの機構だと思います。
  3207. ; ◆もう一つは、短い音長の連符の際、どうもテンポがもたれる様なので、割込み精
  3208. ;  度を3倍ほど高めました。これにより確かにもたれなくなった様です。果して私
  3209. ;  の耳は1/100秒の精度を持っていたのでしょうか?
  3210. ;  何はともあれ、今回のバージョンからMuseは、1/250秒のタイミング精度で動作
  3211. ;  することになりました。
  3212. ; ◆それと、もう1つ。同一の和音やコードのデータが続く時、なにやら入力が面倒
  3213. ;  そうなのに気づき、それらを統括的に解消するために、再現記法という概念を導
  3214. ;  入しました。この表記に連符も統合するか否かで1週間悩みました。結局、分離
  3215. ;  する方が記述性が高いことに気づき、()で連符の再現をすることにしました。
  3216. ; ◆更に、もう一つ。ゼロ音長を和音以外にも拡大適用し、上記の再現記法と組合わ
  3217. ;  せることでリズムパターンをマクロで定義できるようにしました。
  3218. ;  しかし、このために群記述における省略音長の採用順序を変更しなければなりま
  3219. ;  せんでした。これが一番苦労しました。そして悩みました。何故なら文法の互換
  3220. ;  を破ることになるからです。互換性を保つ方法もあったのですが、しかし、その
  3221. ;  奇怪な仕様では、どうしても私の審美感が許さなかったのです。
  3222. ;
  3223. ;《Ver1.6 開発後記》1999.04.08
  3224. ;
  3225. ; ◆小さな2つの改良をしました。1つは、ナインス系のコードを増強したこと。
  3226. ;  これにより、Museが対応するコードは29種類に増えました。先日、近所の楽器
  3227. ;  店にふらりと寄ったら、当り前の話かも知れませんが一般の書店には無い譜面関
  3228. ;  係の書籍がずらりと並んでいるではありませんか! Museに入力することを考え、
  3229. ;  ワクワクしながら気に入った一冊を購入しました。その譜面に思いの外ナインス
  3230. ;  系のコードが多かったというのが、増強のきっかけです。
  3231. ; ◆今一つの改良は、前回のメンバON/OFF機構を、MIDIエクスポート時にも適用拡大
  3232. ;  したことです。このアイディアは鳥谷氏がEmailで提供してくれました。
  3233. ;  ユーザがある箇所で指定したパラメータが、全体に渡って統一的に作用するとい
  3234. ;  う思想は、私の好みにピッタリとフィットしました。
  3235. ;
  3236. ;《Ver1.7 開発後記》1999.04.30
  3237. ;
  3238. ; ◆『遠いものは大きく、近いものは小さく見えるだけのこと。なあに、近づけば
  3239. ;  それ程のことはないさ』…この物理的遠近法を無視した逆説的な論法は、宮崎駿
  3240. ;  アニメのあるシーンで語られる台詞です。私は妙にこの言葉が印象に残っており、
  3241. ;  何かに躊躇する時不思議と思い出すのです。
  3242. ; ◆テンポの連続的変化の対応はとても難解で私には解けないし、解けても実装でき
  3243. ;  ないと思い込んでいました。しかし着手してみると結構楽しい思考プロセスの旅
  3244. ;  でした。『傾きの異なる2つの半直線を滑らかに接続する放物線』というイメー
  3245. ;  ジが、リタルダンドとアッチェレランドを解く鍵だったのです。近づいてみると、
  3246. ;  本当に大したことはありませんでした。
  3247. ; ◆何故かロードに時間がかかるMuseデータが送られてきました。むろんロードその
  3248. ;  ものに時間がかかるのではなくコンパイル処理に時間がかかるわけですが、一体
  3249. ;  どこにその元凶があるのか、CPUタイムダンプのデバッグライトではどうしても
  3250. ;  特定できません。今までこの方法で高速化をした経験が何度もあるのに。お陰で、
  3251. ;  プロファイラ解析の体験を初めてさせてもらいました。
  3252. ; ◆結局、長~い休符がある場合に、次音の挿入位置を検索する処理に時間がかかっ
  3253. ;  ていることが判明しました。そこで、異なる2つの対応策を捻出しました。一つ
  3254. ;  は、音の追加時は単純に列挙しておき、最後にバッチ的に時系列でクイックソー
  3255. ;  トする方法。今一つは、休符に関してもダミーのノートを挿入追加し、あくまで
  3256. ;  もリアルタイムに時系列整合を保っておき、最後にダミーノートを解放する方法。
  3257. ; ◆両方とも時間をかけて丁寧に作り込み、今までのデータで実験検証した後、結論
  3258. ;  としてリアルタイム処理の方を採用しました。これで10倍程の高速化が得られ
  3259. ;  たはずです。著名な小説家や画家の創作プロセスに喩えるのはおこがましいです
  3260. ;  が、Museも最終プログラムに至るまで、数多くの習作を神に捧げています。
  3261. ; ◆繰返しモードのインターバル時点で、マウスによる演奏制御をすると最悪ハング
  3262. ;  が起るという障害にも遭遇しました。結構大手術でした。でもこの病も完治し、
  3263. ;  今回のバージョンで、Museはかなり箔が付いたと思います。
  3264. ;
  3265. ;《Ver1.8 開発後記》1999.06.01
  3266. ;
  3267. ; ◆初版から丁度3ヶ月が経ちました。改版インターバルも長くなり、Museもだいぶ
  3268. ;  落着いて来たようです。今回は、大作の入力に挑戦することで得た経験をもとに、
  3269. ;  自らデバッグに便利と思われる機能を2つ追加しました。
  3270. ; ◆1つは“メンバー色一覧”において★印を一斉にON/OFFする機構。
  3271. ;  今一つは“フィンガー拍数”において最終属性値を表示する機構。
  3272. ;  両機能とも、体験に裏付けられているので必ずや役に立つという自信があります。
  3273. ; ◆考えるに、モノを作るということは、モノを使うという行為により完結するのだ
  3274. ;  としみじみ思うのです。思い起せば初版を作り上げて後、自ら入力を繰返すこと
  3275. ;  で、Museはここまで進化してきました。今後もこの姿勢を崩さずに、事に臨んで
  3276. ;  いこうと思っています。
  3277. ;
  3278. ;《Ver1.9 開発後記》1999.06.12
  3279. ;
  3280. ; ◆遅延効果の機構を実装した時期から、釈然としない部分がありました。それは、
  3281. ;  メンバー属性の宣言“@”がフィンガー宣言“#”の配下に記述される事が間々あ
  3282. ;  るという点です。しかし記法としてはなんら矛盾していませんから、何がどうま
  3283. ;  ずいのか具体的なイメージが描けない日々が続いていました。
  3284. ; ◆けれども先日、帰宅途中の電車の中で突然その欠点が形になりました。
  3285. ;  マクロの中に“@”指定を施す場合、メンバー指定が定数なため、マクロの使い回
  3286. ;  しに足枷が生じ、柔軟性が無いことに気づいたのです。その明確なデメリットに
  3287. ;  思いが到達した時と、新しい記法を思いつくのがほとんど同時でした。
  3288. ;  メンバーを省略可能とし、その際フィンガーの属するメンバーを採用する様にし
  3289. ;  さえすれば問題は解決します。プログラムの修正量はたった2行でした。
  3290. ; ◆フィンガー配下の“@”指定で、再度メンバーを書く必要は無いし、マクロの汎用
  3291. ;  性は高まるし、しかも文法互換は保たれるのです。今まで文法エラーではじかれ
  3292. ;  ていた記述が、新しい解釈で通るだけのことです。すべての側面で満足行く解に
  3293. ;  出会うのは、然う然うあるものではありません。
  3294. ; ◆問題を解決するには、まずその問題の本質を厳密にイメージする事である。
  3295. ;  これが今回、私の得た教訓でした。
  3296. ; ◆もう一つ、無名マクロの文法を追加しました。スコア風に入力する際、オクター
  3297. ;  ブの異なる同一旋律のメンバーを書いていくのにマクロ名の命名が実に煩わしい
  3298. ;  と感じたからです。
  3299. ; ◆嬉しかったのは、文法互換がここでも保たれたことです。結局、従来文法エラー
  3300. ;  と解釈する記述に対して、何らかの機能を付加する分には、上位互換が保存され
  3301. ;  るという指針を得ることができました。
  3302. ;
  3303. ;《Ver2.0 開発後記》1999.06.20
  3304. ;
  3305. ; ◆ぜんぜん改版インターバルが短くなっていないことに気づきました。でもそれに
  3306. ;  気づくよりも先に、新しいアイディアに気づいてしまうのですから仕方ありませ
  3307. ;  ん。まあ、考えてみればプロセスを楽しむ趣味という行為を満喫していると言え
  3308. ;  ましょう。私の信条は『仕事はアウトプット、遊びはプロセス』なのです。
  3309. ; ◆今回の改良は、GUI系と文法系にそれぞれ施しました。GUI系の改良は、
  3310. ;  シークつまみの位置をダイレクトに位置決めできる様にした事です。デバッグを
  3311. ;  繰返す過程で、マウスによるスクロールが煩わしいことに気づいたのです。
  3312. ; ◆もう一つ、マウス右ボタンを導入し、一連の操作を一気に行うようにしました。
  3313. ;  以前より、ツールバーにミニボタンを付けるなどしてリロードを簡便に出来ない
  3314. ;  かという要求を受けていましたが、単に専用のボタンを設けるだけでは、真の欲
  3315. ;  求を満たさないのではないかという懸念が払拭できず、実施する気になりません
  3316. ;  でした。今回、デバッグ中に繰返す自分の操作手順を冷静に分析して、より高次
  3317. ;  元で解決する機構が実装できたと思っています。
  3318. ; ◆文法系の改良は、先日実装した無名マクロにおいて、定義域の指定時でも繰返し
  3319. ;  回数を添えられるようにしたことです。考えてみると、今までMuseには単純な回
  3320. ;  数繰返しの指定がありませんでした。今回ようやく可能になった訳ですが、この
  3321. ;  文法の改造は、とてつもなく大変な作業でした。告白しますが、マクロがらみの
  3322. ;  アルゴリズムは、驚愕に値する複雑さです。
  3323. ; ◆でもまあ、今回も文法互換が保てて本当によかった。胸をなで下ろしています。
  3324. ;  何故って、もう私のMuseデータライブラリは100曲に迫る勢いなのですから。
  3325. ;
  3326. ;《Ver2.1 開発後記》1999.06.26
  3327. ;
  3328. ; ◆長い、長~い、それはそれは長いバイオリンの通奏を入力する機会があり、音長
  3329. ;  を加算記号で連ねていくのが思いの外面倒でした。無名マクロや連結記号で工夫
  3330. ;  すれば、まあ許容できる記述量に納るのですが、こと遅延効果に至っては、そん
  3331. ;  な工夫も出来ない事に気づいたのです。
  3332. ; ◆そこで音長の加算・減算に加えて、乗算を新設することにしました。最後に1つ
  3333. ;  だけ大切に残して置いた逆シングルコーテーション文字を、とうとう使用する事
  3334. ;  になり、これで特殊文字はすべて使い尽してしまいました。しかし図らずも、音
  3335. ;  長の演算子3つがすべて上付文字となり、その統一感に満足しています。
  3336. ; ◆初版の頃から、ちょっと手抜きかなと思っていた、複付点とダブルシャープ・ダ
  3337. ;  ブルフラットに対応しました。共にたま~にしかお目にかからないし、読替えれ
  3338. ;  ばさほど苦もなく記述できるので放置していたのですが、制約条件解除の快感を
  3339. ;  味わいたくなって手を出しました。
  3340. ; ◆ダブルシャープ、ダブルフラットの対応は6行程度のif文を追加するだけで出来
  3341. ;  てしまったのですが、複付点の方はちょっとやっかいでした。64分音符に複付
  3342. ;  点を付けると、Museの持つ内部分解能を越えてしまうのです。分解能を倍にする
  3343. ;  ために、慎重にソースコードをトレースする必要がありました。また、対応つい
  3344. ;  でに従来から端数が出るので気になっていた「音長数字省略の付点のみ記述」を
  3345. ;  文法エラーとしてガードする事にしました。
  3346. ; ◆一種の文法非互換となる訳ですが、今まで通っていた記述が、通らなくなるのだ
  3347. ;  から、修正個所と修正方法が明確であり、まあ問題ないでしょう。従来の文法エ
  3348. ;  ラー記述に新しい解釈を加える事が問題無いように、従来の解釈を文法エラーに
  3349. ;  するのも、ほぼ問題無いという法則が見えてきました。結局、非互換問題は文法
  3350. ;  エラーに関連しない所で、従来と異なる解釈にすり替るときに起るようです。
  3351. ; ◆本格的なクラシックの音楽を入れて、強弱設定を本気でやりました。特に、クレ
  3352. ;  ッシェンド・デクレッシェンドでメンバー音量Vを振ると、今どの値になってい
  3353. ;  るのか、フィンガー音量vと相まって、訳が分らなくなってきます。
  3354. ;  そこで、フィンガー拍数のダイアログに、メンバー音量Vも表示するようにしま
  3355. ;  した。これで、一段とデータ作りは楽になったのですが、このダイアログ、なん
  3356. ;  だかやたらに賑やかな情報ウィンドウになってしまいました。
  3357. ;
  3358. ;《Ver2.2 開発後記》1999.07.07
  3359. ;
  3360. ; ◆最近、Museの処理がオーバーフローする程の超大作が送られてきており、ちょっ
  3361. ;  とスペックが不足気味のマシンでは、曲がもたれてどうしようもない状態が出現
  3362. ;  しました。解析の結果、原因はスクロールバー処理と鍵盤カラー表示の重さと判
  3363. ;  明しました。前者は、ノンウェイトのメッセージポストに変更することで解消し
  3364. ;  ましたが、後者は、ひとえに鍵盤表示のデータ構造に依存しています。
  3365. ; ◆Museは16名のメンバーが10本指を持っており、単純に考えると同時に160
  3366. ;  の音が出せるように思えます。しかし、1本指でも和音が出せ、しかも文法上、
  3367. ;  何重の和音でも記述できる訳ですから、限界は無いに等しいのです。この状況下
  3368. ;  でカラー表示の重なりを処理するのは至難の業と言えます。
  3369. ; ◆実はMuseの鍵盤上に舞踏するカラー表示は、かなり難度の高い処理をしています。
  3370. ;  3D処理と言ったら言過ぎかも知れませんが、重なった色を剥がした時、ちゃん
  3371. ;  と下の色を表出させるための機構は結構やっかいなものです。
  3372. ; ◆今まで、単純な線形リストで管理していたのですが、今回専用の構造体を新設し
  3373. ;  自前でメモリ制御を行うという荒技を施しました。Windows32bitタイマーにおけ
  3374. ;  るLatency問題は残るものの、演奏のもたつきはかなり改善されたと思います。
  3375. ; ◆また、連続する同一のコントロールメッセージの様に、意味の無いコードを削除
  3376. ;  するクリーンアップルーチンを開発する事で、よりCPUの負荷を軽減しました。
  3377. ; ◆開発して半年。やっとボリュームとエクスプレッションの関係が理解できました。
  3378. ;  今まで、常識的判断で、音量調整“V”はマスタボリュームメッセージを使用し
  3379. ;  ていたのですが、MIDI界では、ソングボディ内にボリューム変化を与えてはいけ
  3380. ;  ないお作法になっていることを知りました。ボリュームは、まさに演奏時、個々
  3381. ;  のマシン音源特性に合わせたチャネル音量バランスの調整用に取っておくものと
  3382. ;  の事。お説御尤もと納得し、改修いたしました。
  3383. ;
  3384. ;《Ver2.3 開発後記》1999.08.08
  3385. ;
  3386. ; ◆河合氏が所有している一般公開のホームページにMuseを掲載してくれました。
  3387. ;  恥ずかしながら、私は未だにデジタル・ホームレスでありまして、まあ居候させ
  3388. ;  てもらってる、という所でしょうか。ありがとう河合君。お世話になります。
  3389. ;  ちょっとオーバーですが、とうとうMuseも全世界に船出した事になります。
  3390. ;  まったく見知らぬ人がMuesを楽しんでくれると思うとワクワクします。
  3391. ; ◆今回の機能強化は、ピッチベンドを取込んだことです。トロンボーン奏者、大塚
  3392. ;  氏の強っての(それは初版の頃からの)願いだったのです。お待たせしました。
  3393. ;  例によって、MIDI仕様を理解するのに、インターネットをフル活用させてもらい
  3394. ;  ました。私も見知らぬ人の情報提供を甘受している一人な訳です。
  3395. ; ◆ピッチベンドは、他のコントロールとは一線を画す難度の高い制御です。また、
  3396. ;  データ作りの上でも、活用はちょっとセンスを要します。そんなピッチベンドの
  3397. ;  指定を、Museの記述ポリシーを崩さずに文法化できた事が、とっても誇らしい気
  3398. ;  分です。従来の遅延効果の概念を利用することに気づいた時は、体が宙に浮く程
  3399. ;  嬉しかったのを覚えています。
  3400. ; ◆この喜びに勢いを得て、ダンパーペダルの操作、すなわちホールド制御も実装し
  3401. ;  てしまいました。確かに、ピアノ曲ではその響きが違います。結局、今回の改版
  3402. ;  は楽器特性の演奏手法に対する強化シリーズとなった訳です。
  3403. ; ◆更に、ピアノ曲を多メンバーで入力してみたら、@指定の強制休符調整が無意味
  3404. ;  どころか、邪魔な機構であることに気づき、それを撤廃しました。これがあると、
  3405. ;  多メンバーを一気に指定できる@指定の長所が生かせないのです。またしても、
  3406. ;  数百行のプログラムを闇に葬ってしまいした。
  3407. ; ◆文法互換も乱れましたが、メンバー属性のタイミングをフィンガー記述で一元化
  3408. ;  するという新しい概念のための代償です。幸いにも修正個所は少なく、その場所
  3409. ;  も明確ですから、お許し頂きたいと思います。
  3410. ; ◆何はともあれ、ピッチベンドの指定とホールドの指定を取込んだことで、Museは
  3411. ;  初級シーケンサーから中級シーケンサーへと格が上がったと言って良いかも知れ
  3412. ;  ません。
  3413. ;
  3414. ;《Ver2.4 開発後記》1999.08.15
  3415. ;
  3416. ; ◆Museの開発に着手する1年以上も前に、いつかMuseの様なソフトを作ろうと思い
  3417. ;  MIDIフォーマットに関する本を購入していました。その本は、比較的専門的な内
  3418. ;  容で、いざ開発に着手しようとした際には、あまり役に立ちませんでした。
  3419. ;  その記述は、基本的なことがすべてわかっている人に対しての説明だったのです。
  3420. ; ◆Muse開発がここまで来た今、改めて読返してみました。そして、そのほとんどを
  3421. ;  理解できる自分に驚いています。忘れもしない今年の成人の日に、プロトタイプ
  3422. ;  のコーディングを開始して以来、私はMIDIに関する諸々の知識を吸収し続けてい
  3423. ;  たのだなぁと、しみじみ感じるのです。
  3424. ; ◆さて今回、ドラムマップに拡張音が存在する事を、まさにその本から知りました。
  3425. ;  今まで純標準の47音のみのサポートでしたが、16音増強し63音にしました。
  3426. ;  それに伴い、試聴ボタンの配列が変り、デットスペースが発生したので、以前か
  3427. ;  ら気になっていた不足機能を強化するきっかけとなりました。それは、ドラムの
  3428. ;  試聴ダイアログでの、ドラム音に対するエフェクトの確認機構です。
  3429. ; ◆自分の成長を自分自身で感じるという喜びを味わった、今回の改版劇でした。
  3430. ;
  3431. ;《Ver2.5 開発後記》1999.08.25
  3432. ;
  3433. ; ◆“二大巨頭”という言葉は、両者が切磋琢磨してその対象を高めていくという、
  3434. ;  自然の摂理が生み出す必然なのかも知れません。古今東西、数々のテーマに於て
  3435. ;  この現象が見られます。MIDIフォーマットの世界も例外ではありません。
  3436. ;  GSとXGがそうです。前回バージョンアップしたドラム拡張音ですが、残念な
  3437. ;  がら両者で異なる配列を持っていました。私のようなアプリケーションの開発者
  3438. ;  から言わせると、歩み寄って共通仕様を組んでくれなかったことが遺憾です。
  3439. ;  勝負は音色そのもので行って欲しかった。音色マップのような基本仕様は一緒に
  3440. ;  して欲しかった。だって、土俵が違ったら戦にならないじゃないですか。
  3441. ; ◆と言うわけで、自衛手段の発令です。GSとXGのラジオボタンを設け、ドラム
  3442. ;  マップ自体を内部で整合させるという設計を捻出しました。これならば、Museの
  3443. ;  コーディングデータは共通に使用できるし、どちらの音源でも同じ演奏が再現で
  3444. ;  きる訳です。我ながら、なかなか優れた行司案だと感じてます。
  3445. ;  でも、各音源に指定するプロパティなので毎回指定するのは面倒です。
  3446. ;  そんなこんなで、とうとう初期化ファイル(muse.ini)を立ち上げてしまいました。
  3447. ; ◆もう一つ、かなり骨のある強化をしました。メンバ色一覧のダイアログに、演奏
  3448. ;  楽器を表示させる様にした事です。このため、横型レイアウトを縦型に変更しま
  3449. ;  した。従来のレイアウトはピアノ鍵盤の縦横比イメージに合っていて気に入って
  3450. ;  いたのですが、楽器名を横文字で表示するためにはしかたありません。
  3451. ; ◆でも、レイアウトの変更などは鼻歌混じりの作業であり、問題は表示自体の制御
  3452. ;  でした。Museは楽器の持替えが出来るので、この表示はリアルタイムで行わなけ
  3453. ;  ればなりません。シークバー連動の表示制御や、最初に構える楽器の抽出など、
  3454. ;  悪戦苦闘しました。結局、文字列表示と基本的に同一の制御であることに気づき
  3455. ;  一気に霧が晴れたという所です。複雑だと思われる制御も、整理体系化すれば、
  3456. ;  見通しが良くなるという事を身をもって知りました。
  3457. ;
  3458. ;《Ver2.6 開発後記》1999.09.22
  3459. ;
  3460. ; ◆今回は一種のバグFIXバージョンといった感じです。連符内に記述された遅延効
  3461. ;  果を伴うメンバー属性において、その遅延音長が連符内配分長ではなく、実音長
  3462. ;  になっていた事に気づき、直しました。また、和音が連符内に入っている場合に
  3463. ;  配分音長の考慮欠落があったので、手を入れました。加えて、表示上の些細な問
  3464. ;  題ではありますが、フィンガー拍数、テキスト表示領域、楽器の試聴のそれぞれ
  3465. ;  に改修を施しました。
  3466. ; ◆さて、前回のバージョンから今回に至るまで、実はMuseにとって大きなイベント
  3467. ;  がありました。前回の改版の直後の8/30に、ものは試しと、かの有名なダウンロ
  3468. ;  ードサイト「窓の杜」に公開を依頼してみたのです。そうしたら、その日の内に
  3469. ;  いともあっさりとニュースに掲載されました。その影響で、掲載後12時間で
  3470. ;  1000件を越えるダウンロードが加わりました。
  3471. ; ◆この勢いに乗って翌8/31、今度は「Vector」に投稿。9/3に採用通知が届きました。
  3472. ;  更に9/7、今度は「フリッポ」というサイトから掲載の依頼を頂きました。同日、
  3473. ;  (株)KKベストセラーズ「Cyber Globe」という雑誌からCD-ROM掲載の依頼あり。
  3474. ;  続いて9/18に(株)アスキー「テックウィン別冊」からも掲載の依頼を頂きました。
  3475. ; ◆今思い返すと、この一連の動きはMuseにとって、船出のようなものかも知れませ
  3476. ;  ん。海は広く、船は小さい。でもまずは沈むことなく滑り出しました。もう後に
  3477. ;  は引けません。舞上がっちゃいけない、浮足だってはいけない、と思いつつ、
  3478. ;  やはり嬉しいと言うのが正直な感想です。だって、人から認められるという事が
  3479. ;  自分の存在意義の確認には最も効果的なのですから。
  3480. ; ◆そして、なにより楽しみなのは、未知なる人から舞込んでくるEmailがグッと増
  3481. ;  えたことです。一体明日は、どんな人とコミュニケーションができるのだろう。
  3482. ;  考えただけで、ワクワクしてくるのです。
  3483. ;
  3484. ;《Ver2.7 開発後記》1999.10.04
  3485. ;
  3486. ; ◆思い込みや勝手な解釈は、大抵の場合間違っているものです。ドラムパートは、
  3487. ;  その音程により音色を規定するため、ピッチ指定など出来る訳が無いと思い込ん
  3488. ;  でいました。もし出来るとしたら、スネアからシンバルに次第に音色が移ってい
  3489. ;  く様な、音楽版モーフィングという高度技術になると勝手に想像していました。
  3490. ; ◆ところが実際に試してみたら、ちゃんと同一の音色でピッチが変化するではない
  3491. ;  ですか。それどころか、ドラム音色の表情をかなり変化させることができます。
  3492. ;  ドラムRollに関しては、ロールスピードの調整といった変化さえ起ります。喜び
  3493. ;  勇んで早速実装することにしました。これでドラムを鳴らす楽しみが増えます。
  3494. ; ◆改版のついでに、Museが生成するモードレスなダイアログ群に、スクリーンに対
  3495. ;  する四隅フィット機構を付けたり、メンバ色一覧の楽器表示のちらつきを抑止し
  3496. ;  たりしました。また、エクスポートMIDIで拍数メタイベントの出力を止めました。
  3497. ; ◆さて、実は今回、もっともっと大きな思い込みによる過ちの修正を施しました。
  3498. ;  それは著作権侵害の件です。多くのホームページでMIDIデータが掲載されている
  3499. ;  事から、MP3の様な原音コピータイプでなければ、著作権に抵触しないと勝手に
  3500. ;  解釈していたのです。これがとんでもない話であることを大海の中で知りました。
  3501. ;  船出したMuseが初めて出会う嵐と言えましょう。
  3502. ; ◆と言うわけで、Readme.txt のすべての例示楽曲と、添付している Sample*.mus
  3503. ;  を見直し、JASRAC のホームページで著作権が消滅している事を確認しました。
  3504. ;  嵐は去り、晴れて公開可能な状態になりました。さあ、また航海を続けましょう。
  3505. ;
  3506. ;《Ver2.8 開発後記》1999.10.30
  3507. ;
  3508. ; ◆もし、MIDIファイルをMuseフォーマットに変換できたら、世界中に存在する膨大
  3509. ;  なデータをMuseで鳴らすことができます。それは初版の頃から思い着いてはいた
  3510. ;  のですが、MuseはMIDIに比べて器が小さいので、各種イベントを取りこぼしてし
  3511. ;  まい、まともに変換できないだろうと思っていました。
  3512. ; ◆しかし当時と比べて、Museもかなり成長しました。そこで、mid2mus.exe の開発
  3513. ;  に着手する事にしました。音長に対する表現機構が全く異なるので、大変苦労し
  3514. ;  ましたが、どうにか及第点に達する段階にこぎ着けました。
  3515. ;  このツール、初めはMuseパッケージの付録としてフリー配布しようと思っていた
  3516. ;  のですが、もっと面白いリリース形態に気づきました。
  3517. ; ◆それは、私にMuseデータを送ってくれたら、ご所望の方へプレゼントとしてお贈
  3518. ;  りするという方法です。この方法の卓越したところは、一方向の提供形態である
  3519. ;  フリーソフトMuseのコミュニケーションを双方向にする事が出来る点にあります。
  3520. ;  私がMuseを提供し、利用者がデータを返し、更に私がmid2musを贈るのですから、
  3521. ;  最低でも一往復半のやり取りを起すことが出来ます。
  3522. ; ◆さてMuse本体の話題に戻ります。今回、mid2mus.exeの開発に際し、保有している
  3523. ;  MIDIファイルでテストを繰返したのですが、2つ気付いたことがありました。
  3524. ;  1つは、ドラムセットの切替えが、そのチャネルのプログラムチェンジで簡単に
  3525. ;  行えるということです。そこで、Museもドラムセットの選択を可能にすることに
  3526. ;  しました。文法上はガードを外すだけで済みましたが、いろいろなダイアログに
  3527. ;  影響を与え、結構手間がかかりました。
  3528. ; ◆そして、またしてもGSとXGの仕様差に悩まされました。エスニックやSFX
  3529. ;  の音がXGでは簡単には出ませんでした。両音源の互換性を維持しつつ、鳴らす
  3530. ;  方法もあるのですが、あまり凝ると重たくなってしまうので妥協しました。
  3531. ;  そろそろ、MuseもGSとXGの分岐点まで到達したのかもしれません。
  3532. ; ◆もう1つは、モジュレーション(揺らぎ)の遅延効果を使用しているデータが思い
  3533. ;  の外多いという事です。確かに、市販のキーボードの左端にはピッチベンドと並
  3534. ;  んでモジュレーションのホイールが付いている様です。
  3535. ; ◆という訳で、揺らぎ・残響・コーラスの3つのエフェクト指定に遅延効果を実装
  3536. ;  する事にしました。これで結局、ほとんどのメンバー属性で遅延効果が使える様
  3537. ;  になった訳です。初めから、何も考えず機能実装してしまえば良かったのですが、
  3538. ;  私は『不要な機能は無駄なだけでなく、邪魔なものである』という思想を持って
  3539. ;  いるので、どんな些細な機能実装も充分な検討を施した後でないと実行する気に
  3540. ;  なれないのです。軽いフィーリングなのに何故か高機能というソフトを実現する
  3541. ;  には、機能実装の決断検討にかける時間が、大きく影響すると思うのです。
  3542. ;
  3543. ;《Ver2.9 開発後記》1999.11.23
  3544. ;
  3545. ; ◆毎回、新しいバージョンを出す度に「もうこれで完結編!」と思ってリリースす
  3546. ;  るのですが、何故か連鎖的に次々とテーマが持ち上がってしまいます。せっかく
  3547. ;  ドラムセットが各種選択できるようになったけど、ドラマーが一人では、異なる
  3548. ;  ドラムセットを重ねて同時に演奏できません。この指摘はパワーユーザの一人、
  3549. ;  百元氏から頂きました。尤もな話です。そこで、チャレンジ! GSとXGの差
  3550. ;  に怯えながらも、どうにか利用者に差を意識させない仕様で実装できました。
  3551. ; ◆実にゆっくりしたペースではありますが、MuseはMIDI仕様の進化の軌跡を忠実に
  3552. ;  トレースしながら強化しているように思えます。そうなると、次に来るのは音色
  3553. ;  パラメータの制御NRPNです。しかし音色加工の世界に入り込むと、大変な騒ぎに
  3554. ;  なってしまう感があり、今回は開発着手を思い止まりました。
  3555. ; ◆演奏時間55分、全12曲。CDアルバムを丸ごと詰込んだデータが送られて来
  3556. ;  ました。Museを開発した本人も流石に腰が抜けそうです。そのデータは、各曲を
  3557. ;  個々のファイルで入力し、最後に束ねて1ファイルにしたとの事。その際、単純
  3558. ;  に連結すれば良いわけでなく、曲と曲の間で、メンバー属性やフィンガー属性の
  3559. ;  初期化を行わなければなりません。特にフィンガー属性の初期化は、だらだらと
  3560. ;  長たらしいものになっていました。
  3561. ; ◆今後もこの様な束ねの大作が登場する事を期待したい所ですが、そうなってくる
  3562. ;  と、どうにか初期化の手間の緩和案を講じたくなります。しかし単純な初期化コ
  3563. ;  マンドを作るだけでは芸が無いと感じていました。その時、半年以上も前のクレ
  3564. ;  ームを思い出しました。それは、音名をすべて英米系で入力する場合、いちいち
  3565. ;  すべてのフィンガー属性にx1を指定しなければならない、というものでした。
  3566. ; ◆思い出した瞬間に、2つを同時に解決する*FINGコマンドの設計が完了しました。
  3567. ;  という訳で、今回は DRUM と FING という2つのコマンド追加となったのです。
  3568. ;
  3569. ;《Ver3.0 開発後記》1999.12.30
  3570. ;
  3571. ; ◆バージョンの桁が上がる時は、劇的変化をするのが一般的ですが、それ程派手な
  3572. ;  機能強化ではありません。考えてみると、進化の過程で偶然人類が10本の指を
  3573. ;  得たため10進法を採用しただけのこと。巷ではミレニアムだなんだと大騒ぎで
  3574. ;  すが、2000年も16進法だと7D0年、2進法では11111010000年で、あまりキリが
  3575. ;  良い感じがしません。でも自然の摂理に節目がないからこそ、人工的な節目を何
  3576. ;  らかの形で設定する事が、人間にとっては大切なのかも知れませんね。
  3577. ; ◆さて、今回の強化は3つ。一つは、アルペジオの記法をサポートしたことです。
  3578. ;  Museの構想を練っている段階から、自分自身で絶対欲しいと思っていながらも、
  3579. ;  連符・和音・コードが複雑な入れ子になった場合の解釈定義の煩雑さから、半ば
  3580. ;  断念していた機能です。小学校の頃、ギター1本でなんて素晴しい伴奏ができる
  3581. ;  のかと驚いた経験があり、ずっと後になってそれがコードである事を知りました。
  3582. ;  だからコード機能は私にとって絶対必須だったのです。でも、すべての音が一辺
  3583. ;  に鳴るとギターらしくありません。今回のアルペジオ実装で、当初準備したToDo
  3584. ;  リストが総て消し込まれました。これは、私にとって記念すべき事です。
  3585. ; ◆今一つはコマンドラインの引数で、起動時のオプションを指定できるようにした
  3586. ;  ことです。この強化のトリガは、これからミューザーとしてデビューしようとし
  3587. ;  ている、同僚の 内藤義明 氏に寄ります。彼はなんとMuseファイラーの開発に
  3588. ;  着手してくれました。複数の曲を管理できないMuseにとっては心強い限りです。
  3589. ;  皆さんから頂いた曲をBGMにしてパソコンに向っている私にとって、アルバム
  3590. ;  機能は大変嬉しいものです。
  3591. ; ◆もう一つはスペースキー等、キーボードによる演奏制御を可能にし、更にエラー
  3592. ;  メッセージをクリップボードに出力する様にしたことです。これは、名古屋南山
  3593. ;  大学の教員の方がきっかけを与えてくれました。視覚障害を持つ学生に試行させ
  3594. ;  てみたいというご要求です。マウス利用が困難であり、キーボードが重要なI/F
  3595. ;  であるという事実も、改めて認識させて頂きました。果して今回の強化、視覚障
  3596. ;  害を持つ方に認めてもらえるでしょうか? そして使ってくれるでしょうか?
  3597. ;  不安と、今までにない大きな期待の入り混じった年の瀬となりました。
  3598. ; ◆3つの強化とも地味なものではありますが、1つ目は自己の初心を貫徹した最後
  3599. ;  の機能であり、後の2つはMuseが他者との新しい関わり方を開始したという意味
  3600. ;  で、節目バージョンに相応しいと、私は思っています。
  3601. ;
  3602. ;《Ver3.1 開発後記》2000.01.15
  3603. ;
  3604. ; ◆もし、ソフトウェアにも誕生日というものがあるなら、Museの誕生日は1/15です。
  3605. ;  ちょうど1年前の今日、Museの最初の一行目をコーディングし始めました。
  3606. ;  今回のバージョンアップ・テーマは“曲想表現の強化”とでも申しましょうか。
  3607. ;  ヴェロシティ(強弱)の相対変化、微妙なタイミング制御(微分音長)、そして柔軟
  3608. ;  なテンポ指定の3つの強化を行いました。1年が過ぎてなお、これ程の文法上の
  3609. ;  強化をする余地があるとは! 「音」なんて、ただの空気の振動なのに、どうして
  3610. ;  「音楽」って奴はこんなにも奥が深いのでしょう。
  3611. ; ◆中でも“柔軟なテンポ指定”の強化は大手術でした。手術は何日にもかけて行わ
  3612. ;  れ、一時は死ぬのではないか(私ではなくMuseがです)とさえ感じました。なにせ、
  3613. ;  時間制御の根幹部分にまで手を入れたのですから。%部分の強制タイミング合せ
  3614. ;  に関する文法互換も崩してしまいました。お陰で、今までのデータはコンバート
  3615. ;  しなければならないわ、mid2mus.exeも作り直しを余儀なくされるわで、大騒ぎ
  3616. ;  です。もっとも悩まされたのは、すでにMuseを利用している多くのユーザの方に
  3617. ;  この事態を把握してもらう事でした。でも、河合君がホームページに掲示板を
  3618. ;  作ってくれたお陰で、この困難もかなり緩和されました。心底感謝しております。
  3619. ; ◆満一歳を迎えたMuse。手術は成功しました。新たな曲想の表現手段を装備して、
  3620. ;  また歩き始めます。これからもご支援の程、よろしくお願いします。
  3621. ;
  3622. ;-----------------------------------------------------------------------------
  3623.